파일 유형 변경 / kMDItemContentType


0

나는 확장자가없는 두 개의 텍스트 파일을 가지고 있고 그것들을 실행 가능하게 만들었다. 둘 다 터미널 앱으로 열립니다. 그러나 한 파일은 종류 "텍스트"로 표시되고 다른 파일은 "실행 가능한 유닉스 파일"로 표시됩니다.

메타 데이터 속성을

mdls & lt; 파일 이름 & gt;

콘텐츠 유형이 다른 것을 볼 수 있습니다.

파일 1은 다음을 보여줍니다 :

...
kMDItemContentType                  = "public.unix-executable"
...

파일 2는 다음을 보여줍니다.

...
kMDItemContentType                  = "com.apple.traditional-mac-plain-text" 
...

파일 2의 kMDItemContentType도 "public.unix-executable"로 설정하려면 어떻게해야합니까? 그것을 변경하는 명령 줄이 있습니까?

답변:


1

파일 자체 내에서 명시 적으로 설정합니다.

마우스 오른쪽 버튼을 클릭 (또는 선택권 + 클릭) 파일 & gt; 연결 프로그램 & gt; 기타 ... & gt; 텍스트 편집.

또는 터미널에서 nano 또는 vi와 같은 텍스트 편집기를 사용할 수 있습니다.

속담 아래에 속성 설정

#! /bin/bash

kMDItemContentType = "public.unix-executable" 

#Rest of your shell script

난 그냥 내 빈에있는 스크립트에 이것을 테스트 :

njboot$ mdls /Users/njboot/bin/jpgrm 
kMDItemContentCreationDate     = 2014-06-10 06:06:53 +0000
kMDItemContentModificationDate = 2014-06-11 19:58:23 +0000
kMDItemContentType             = "public.unix-executable"
kMDItemContentTypeTree         = (
    "public.unix-executable",
    "public.data",
    "public.item",
    "public.executable"
)

나노 또는 텍스트 편집으로 메타 속성을 편집하려면 어떻게해야합니까? 파일을 열면 속성이 아닌 파일 내용 만 표시됩니다 ... 트릭은 어디에 있습니까?
markus

@markus 어떤 파일 유형입니까? 필자는 말 그대로 파일을 실행 가능한 쉘 스크립트라는 가정하에 파일에 텍스트로 추가하는 것을 의미했습니다. 나노를 사용하지 마십시오. 그냥 textedit을 사용하십시오. 그것을 열기 전에 실행 가능 속성을 제거하십시오. chmod -x /path/to/file 그 다음 파일 자체 내에서 줄 바꿈 텍스트 (shebang 아래 #! /bin/whatever ) kMDItemContentType = "public.unix-executable" ... 일단 완료되면 변경 사항을 저장하고 다시 실행 가능하게 만듭니다. chmod +x /path/to/file
njboot

ssh를 통해 서버에 연결하는 작은 쉘 스크립트이지만 확장자는 없습니다. 그냥 #을 추가! / bin / bash는 저장 후 kMDItemContentType을 변경했습니다.
markus

재미있는 점은 파일을 다시 열고 "#! / bin / bash"를 제거하더라도 kMDItem ContentType은 메타 데이터 속성에 "public.unix-executable"을 유지한다는 것입니다.
markus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.