比方說,我有一個函數在擊:Bash的函數將引用引用參數分解的命令嗎?
function ll {
command ls -l $*
}
因此它是讓ll
作品像ls -l
。大多數情況下,它會工作,但
ls -l "ha ha"
可以與名ha ha
文件的工作,但
ll "ha ha"
會失敗,因爲它被認爲是
ls -l ha ha
有沒有辦法做到這一點?我認爲,我們可以使它
function ll {
command ls -l "[email protected]"
}
(注意"[email protected]"
是"$*"
不同,與"[email protected]"
意思單獨報價,而"$*"
是指在同一個字符串的引用)
但隨後,ll -t "ha ha"
將成爲ls -l "-t" "ha ha"
,這實際上有效,但有點奇怪,我不確定它在某些情況下是否會崩潰。
是否有另一種方式使其工作,另一件事是,我認爲在功能上,command ls -l "[email protected]"
和ls -l "[email protected]"
是一樣的嗎? (command
僅僅是直接運行程序,而不是調用任何可能的bash功能,以防止遞歸的發生?)
'll -t「ha ha」'等於'ls -l「-t」「ha ha」'的意思,'ll「-t」「-F」「ha ha」'等於'ls -t -F「haha」' – sapht