以下は、「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)"%/*}"