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関数を呼び出さないだけですか?)