たとえば、私の.profileには次の機能があります。
alias () {
command alias "$@"
}
ただし、これは次のことを行います。
$ alias test=ls
走れば
$ alias test="ls"
引用符付き文字列を許可するにはどうすればよいですか?
答え1
コマンドラインの二重引用符はパーサーで使用されます。関数を呼び出すときは、エイリアス式全体を一重引用符で囲むか、バックスラッシュで各二重引用符をエスケープする必要があります(またはエスケープマークと引用符を混合)。したがって:
alias foo='echo "hi there"'
alias bar="echo "\"hi\ there\"
エイリアスの右側にスペースを含めることができるようにエイリアスをオーバーライドする場合は、以下を使用する必要があります。
command alias "$*"
違いは、このバージョンは、次のようにスペース(IFSの最初の文字)で区切られたすべての位置パラメータを拡張することですalias
。
alias foo=echo over here