Linux에서 명령이 실행 가능한지 확인하는 방법
예:
xeyes
답변1
man bash
조건식 단락 에서 :
-x 파일
파일이 존재하고 실행 가능하면 참입니다.
따라서 다음을 사용할 수 있습니다.
[ -x /usr/bin/xeyes ] && echo "File is executable" || echo "File is not an executable or does not exist"
답변2
명령 바이너리가 어디에 저장되어 있는지 알고 있다면 그냥 실행하세요 ls -l
. 위치를 모르면 먼저 which
명령을 사용하여 위치를 찾으세요.
$ which xeyes
/usr/bin/xeyes
명령에 실행 권한( x
)이 설정되어 있으면 명령을 실행할 수 있습니다.
$ ls -l /usr/bin/
-rw-rw-r-- 1 arushirai arushirai 0 May 23 11:58 123
-rwxrwxr-x 1 arushirai arushirai 0 May 23 11:58 xeyes
실제로 -x <filename>
파일에 실행 권한이 설정되어 있는지 확인합니다.
설명하다:
ls -l의 첫 번째 열에는 파일의 권한이 표시됩니다.
-rwxrwxr-x
- r은 읽기 권한입니다
- w는 쓰기 권한입니다
- x는 실행 권한입니다.
-rwxrwxr-x
- 비트 1: Tell
type of file
(-
일반 파일의 경우) - 다음 3자리:
owner
권한(rwx
: 읽기, 쓰기, 실행) - 다음 3자리:
group
권한(rwx
: 읽기, 쓰기, 실행) - 다음 3자리:
other
권한(r-x
: 읽기 및 실행 권한)
파일 권한에 대한 자세한 내용은 다음을 참조하세요.https://wiki.archlinux.org/index.php/File_permissions_and_attributes
답변3
명령의 경로를 모르는 경우 이를 사용하여 which
해당 위치를 확인할 수 있습니다(물론 $PATH에 있는 경우). 명령 파일의 경로를 알고 있는 경우 if -x /path/to/command
명령문을 사용하십시오.