Linuxでコマンドが実行可能かどうかを確認するにはどうすればよいですか。
例:
xeyes
条件式の段落のman bash
から:
-xファイル
ファイルが存在し、実行可能であれば真。
だから、あなたは使うことができます:
[ -x /usr/bin/xeyes ] && echo "File is executable" || echo "File is not an executable or does not exist"
コマンドバイナリが保存されている場所がわかっている場合は、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
-rwxrwxr-x
type of file
(-
は通常のファイル用です)owner
権限(rwx
:読み取り、書き込み、実行)group
権限(rwx
:読み取り、書き込み、実行)other
権限(r-x
:読み取りおよび実行権限)ファイルのアクセス許可の詳細については、次を参照してください。 https://wiki.archlinux.org/index.php/File_permissions_and_attributes
コマンドへのパスがわからない場合は、which
を使用して、それがどこにあるかを確認できます(もちろん、$ PATHにある場合)。コマンドファイルへのパスがわかっている場合は、if -x /path/to/command
ステートメントを使用します。