ユースケース:私は/path/with/a/very/long/nameにある端末で作業しており、深くネストされた別のディレクトリに変更したいと思います。しかし、私の記憶ではそんなことはよく分からない。だから私はGUIを探してどこを探すべきかを見つけたいと思います。
私はこのスクリプトを思い出しました。
#!/bin/sh
echo "change working directory"
MYDIRECTORY=$(kdialog --getexistingdirectory ::label1);
if [ "$?" = 0 ]; then
cd "$MYDIRECTORY"
elif [ "$?" = 1 ]; then
echo "action canceled";
else
echo "ERROR";
fi;
exit 0
残念ながら動作しません。スクリプトが終了すると、端末の元のディレクトリに残ります。これは、cdコマンドを実行するサブシェルが元のディレクトリが復元された状態で終了したためであることがわかりました。
それでは、どのように目標を達成できますか?
答え1
スクリプトファイルではなくシェル関数(.bashrcなど)で作成してください。