特定の実行可能ファイルのパスを返すには、次のように実行できます。
which mysql
たとえば、次を返します。
/usr/bin/mysql
私は戻ってきたいだけです:
/usr/bin
どうすればいいですか?
ベストアンサー1
executable=mysql
executable_path=$(command -v -- "$executable") &&
dirname -- "$executable_path"
$executable
もちろん、シェル組み込み、関数、またはエイリアスの場合は機能しません。mysql
この機能が組み込まれたシェルがあるかどうかはわかりません。以前に定義していない限り、関数やエイリアスではありませんが、それを知っておく必要があります。bash
エクスポートされた関数のサポートは例外かもしれません。
$ bash -c 'command -v mysql'
/usr/bin/mysql
$ mysql='() { echo test;}' bash -c 'command -v mysql'
mysql