Bash
如何發送帶有不帶空格的參數的命令?
有沒有辦法在沒有空格的情況下在 linux 中執行帶有參數的命令?
cat file.txt
需要是:
cat(somereplacementforthiswhitespace)file.txt
如果只有一個變數的值是一個空格……或者更一般地說,包含一個空格。
cat${IFS}file.txt
的預設值為
IFS
空格、製表符、換行符。所有這些字元都是空格。如果你需要一個空格,你可以使用${IFS%??}
.更準確地說,它起作用的原因與分詞的工作方式有關。至關重要的是,它是在替換變數的值之後應用的。而分詞將值中的每個字元都
IFS
當作分隔符,所以通過構造,只要IFS
設置為非空值,就可以進行${IFS}
分詞。如果IFS
長度超過一個字元,則每個字元都是一個單詞分隔符。作為空格的連續分隔符被視為單個分隔符,因此擴展的結果cat${IFS}file.txt
是兩個單詞:cat
和file.txt
。非空白分隔符被單獨處理,類似IFS=',.'; cat${IFS}file.txt
,cat
將接收兩個參數:一個空參數和file.txt
.