Sublime Text 2 내에서 파일 권한을 편집(예: 스크립트 파일을 실행 가능하게 만들기)하려면 어떻게 해야 합니까?

Sublime Text 2 내에서 파일 권한을 편집(예: 스크립트 파일을 실행 가능하게 만들기)하려면 어떻게 해야 합니까?

예를 들어 쉘 스크립트를 작성할 때 권한을 변경하고 싶습니다(주로실행 가능허가) Sublime Text 2 내에서.

어떻게 이를 달성할 수 있나요?

답변1

다음은 현재 편집 중인 파일에 대한 범용 권한 편집 명령이다. 플러그인 및 Sublime Text 2 메뉴 편집에 대한 자세한 설명은 다음을 참조하세요.이 게시물.

그것은 추가됩니다모드 변경에서 명령편집하다메뉴. 선택하면 사용자에게 chmod에 유효한 인수 문자열(예 : u+rwx또는 755, 기본값은 과 같이 현재 설정된 4자리 8진수 권한 문자열임 0644)을 입력하라는 메시지가 표시되며, 이는 편집 중인 파일에 적용됩니다.

입력 패널 스크린샷

선택하다도구 » 새 플러그인, 다음 내용을 삽입하고 다음과 같이 저장 chmod.py하십시오 ~/Application Support/Sublime Text 2/Packages/User/.

import sublime, sublime_plugin, subprocess

def chmod(v, e, permissions):
    subprocess.call( [ "chmod", permissions, v.file_name() ] )

def stat(filename):
    proc = subprocess.Popen( [ "stat", "-f", '%Mp%Lp', filename ], stdout=subprocess.PIPE )
    return str(proc.communicate()[0]).strip()

class ChangeModeCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if sublime.platform() != 'osx':
            return

        fname = self.view.file_name()

        if fname == None:
            sublime.message_dialog("You need to save this buffer first!")
            return

        perms = stat(fname)

        def done(permissions):
            chmod(self.view, edit, permissions)

        sublime.active_window().show_input_panel(
            "permissions to apply to the file " + fname + ": ", perms, done, None, None)

이 명령에 대한 메뉴 항목을 삽입하려면 다음을 에 추가하고 ~/Application Support/Sublime Text 2/Packages/User/Main.sublime-menu파일이 이미 있는 경우 기존 파일 내용과 병합합니다.

[
    {
        "id": "edit",
        "children":
        [
            {"id": "wrap"},
            { "command": "change_mode" }
        ]
    }
]

답변2

기본적으로 Linux에서도 작동하지만 stat명령은 다르게 작동하며 필요하지 않은 수많은 정보를 표시합니다.

stat -c %a filename 

대신에 '644'와 같은 것을 반환합니다.

관련 정보