$(!!) のような bash スクリプトの HISTORY ディレクトリまたはエイリアスの CD

$(!!) のような bash スクリプトの HISTORY ディレクトリまたはエイリアスの CD

多くの場合、私のファイルシステム上のファイルのディレクトリに変更したいのですが、ファイルがどこにあるのかわかりません。

私は次のように検索します。

find -type f -name "myfile.txt"

単純化のために、これは結果を返すと言うことができます。

/some/super/long/path/that/i dont/want/to/type/myfile.txt

次に、通常、次のように入力します。

cd $(dirname $(!!))

私が探しているファイルのディレクトリに切り替えるには...

とにかく、デフォルトでこれを入力できるように、これをシェルスクリプトまたはエイリアスに入れることはできますか?

cdlast

それは働く:

cd $(dirname $(!!))

シェル使用の歴史?私はこれを試しましたが、シェル履歴がbashスクリプトから欠落しているようです。

ベストアンサー1

fc -s前のコマンドを再実行します。

alias cdlast='cd "$(dirname "$(fc -s 2> /dev/null)")"'

または以下を使用してくださいeval "$(history -p !!)"

alias cdlast='cd "$(dirname "$(eval "$(history -p !!)")")"'

おすすめ記事