実行可能なコマンドを含むディレクトリを入力してください。

実行可能なコマンドを含むディレクトリを入力してください。

以下は、「The Productive Programmer」の本に記載されているコマンドラインのヒントです。

pushd `which java`/..

著者は、このコマンドが一時的に実行可能なコマンドを含むディレクトリに移動できると言いました。Java人生。

Linuxでこのコマンドを入力すると、Bashは次のように文句を言います。

bash: pushd: /usr/bin/java/..: Not a directory

/usr/bin/java/..また、ディレクトリを次のように直接変更してみました。

$ pushd /usr/bin/java/.. 
bash: pushd: /usr/bin/java/..: Not a directory

私はなぜ失敗したか。ディレクトリ変更が利用できないのはなぜですか/..?同じタスクを実行するためにこのコマンドをどのように変更しますか?

ベストアンサー1

/usr/bin/javaディレクトリではなくファイルなので失敗します。

あなたはできます:

cd "$(dirname "$(which java)")"

またはパラメータ拡張を使用してくださいzsh

cd "${"$(which java)"%/*}"

おすすめ記事