エイリアス内でエイリアスのないコマンドバージョンにどのようにアクセスできますか? Bashでは、alias ls='\ls -l'
このエイリアス内の非エイリアスアクセスなどの操作を実行できます。魚にどうやってこれをすることができますか?ls
ls
今私はenv
このコマンドを使って実行可能ファイルをインポートしていますが、もっと良い方法はありますか?
alias man='PAGER="bat -p" /usr/bin/env man'
答え1
簡単な状況では、魚はalias
自分で見つけます。
これにより、alias ls='ls -l'
次の機能が生成されます。
function ls --description 'alias ls=ls -l'
command ls -l $argv
end
なぜなら
- Fishは
alias
機能を定義する安いラッパーです。 - 名前でコマンドを呼び出し、関数をスキップして組み込みコマンドを使用する方法は次のとおりです。
command
だからあなたはできます
alias man='PAGER="bat -p" command man'
(同様にbuiltin foo
組み込まれた「foo」を呼び出すと、すべての機能はスキップされます。)
この特定の場合の最善の解決策は、エイリアスを完全にスキップして$ MANPAGERを設定することです。
set -gx MANPAGER "bat -p"
また、関数を直接定義して、フィッシュエイリアス関連の問題を回避できます。
function man
PAGER="bat -p" command man $argv
end
または使用略語代わりに。