bashにコマンドがあることを確認してください。

bashにコマンドがあることを確認してください。

与えられたコマンドが存在するかどうかを確認したいのですが、bashユーザーが作成したスクリプトではなく、bashのデフォルトコマンドにのみ興味があります。ここで言及することは、native commands通常、ユーザーが使用できるすべてのコマンドを意味します。

2つのコマンドがあります

command -v
type

コマンドが存在することを確認するために使用できます。しかし、ユーザーが作成したスクリプトに対してもtrueを返しますが、私は組み込みコマンドに制限したいと思います。

メモ:bash builtin私はaと他のコマンドを区別したくありません。

ティータッチ

タイプとして与えられますが、fileこれは基本的にユーザーが使用できるコマンドです。しかし、ユーザーがスクリプトを作成して実行しようとしたら、フィルタリングしたいと思います。

助けてくれてありがとう。

ベストアンサー1

シェル組み込みコマンドに対してのみtrueが返されるかどうかはわかりませんが、type -t「組み込み」を含む「コマンド」タイプが返されます。

if [ "$(type -t help)" = "builtin" ]; then
    echo "Help is a builtin command."
fi

詳細については、実行してくださいhelp type

おすすめ記事