コマンドが実行可能であることを確認してください。

コマンドが実行可能であることを確認してください。

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ステートメントを使用してください。

関連情報