Bashに関数があるとしましょう:
function ll {
command ls -l $*
}
llのような作品を作ることですls -l。ほとんどの場合、うまくいきますが、
ls -l "ha ha"
name のファイルに対して機能しますha haが、
ll "ha ha"
と見なされるため、失敗します。
ls -l ha ha
これを機能させる方法はありますか?私たちはそれを成し遂げることができたと思います
function ll {
command ls -l "$@"
}
( は と"$@"は異なり、"$*"個々"$@"に引用されていることを意味し、 while"$*"はすべて 1 つの文字列で引用されていることを意味します)
しかし、実際には機能しますll -t "ha ha"がls -l "-t" "ha ha"、ちょっと奇妙で、場合によっては故障する可能性があるかどうかはわかりません。
それを機能させる別の方法はありますか、そして別のことは、関数で考えcommand ls -l "$@"てls -l "$@"同じですか?(commandプログラムを直接実行し、再帰の発生を防ぐために可能なbash関数を呼び出さないだけですか?)