既定では、お知らせ/メッセージを含む特定のディレクトリに.cd-reminderファイルを作成したいと思います。誰かが特定のディレクトリに「cd」するたびに表示されます。
これを達成するためのシェルスクリプトがすでにあります。私は現在Fishを使用していますが、変換方法に精通していません。助けてくれてありがとう。
reminder_cd() {
builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}
alias cd=reminder_cd`
答え1
次の機能を追加できます~/.config/fish/config.fish
。
function show-reminder --on-variable PWD
if test -f .cd-reminder
cat .cd-reminder
end
end
cd
(これにより、使用可能なディレクトリ履歴を保持する組み込み機能を上書きすることを防ぐことができます。)
~/.config/fish/functions/
この機能は手動で実行するまで変更時に実行されるとは見なされないため、自動ロード機能として追加しないでください。$PWD
答え2
function cd
builtin cd $argv
and test -f .cd-reminder
and cat .cd-reminder
end
.cd-reminderファイルがディレクトリにない場合、これは失敗した終了ステータスを返すことに気づきました。代わりにこれを使用してください。これにより、指定されたディレクトリにcdできない場合、関数は失敗を返します。
function cd
builtin cd $argv
and begin
test -f .cd-reminder
and cat .cd-reminder
or true
end
end