ではfish
、同じ名前の別の関数内で関数を参照または使用できますか? たとえば、 には、 OS などに基づいていくつかのデフォルト パラメータを設定したり、シェルに色があるかどうかを設定fish
する関数ls
atがあります。/usr/local/share/functions/ls.fish
新しいバージョンのfish
.
エイリアスを設定する最も簡単な方法はcommand
、次のように使用することです。
function ls
command ls -F $argv
end
ls.fish
フォルダ内のファイルで~/.config/fish/functions
。これは、ユーザー定義関数の既定のフォルダーです。このフォルダと の両方~/.config/fish/functions
が にありますが$fish_function_path
、後で来るので、ユーザーはのデフォルト機能~/.config/fish/functions
をオーバーライドする独自の機能を設定できます。fish
ただし、fish
ドキュメントに記載されているように、
command forces the shell to execute the program COMMANDNAME and ignore
any functions or builtins with the same name.
$fish_function_path
上書きせずに、エイリアス/関数を後で定義したエイリアス/関数で上書きするにはどうすればよいですか? 理想的には、解決策は のような同じ名前の組み込みコマンドも使用しますcd
。引用されたドキュメントによると、これも不可能ですが、これは必須ではありません。
最後に、これは良い考えですか?fish
がデフォルトでこれを行わない場合、何らかの理由があるはずですよね?