Bash

如何發送帶有不帶空格的參數的命令?

  • May 2, 2019

有沒有辦法在沒有空格的情況下在 linux 中執行帶有參數的命令?

cat file.txt

需要是:

cat(somereplacementforthiswhitespace)file.txt

如果只有一個變數的值是一個空格……或者更一般地說,包含一個空格。

cat${IFS}file.txt

的預設值為IFS空格、製表符、換行符。所有這些字元都是空格。如果你需要一個空格,你可以使用${IFS%??}.

更準確地說,它起作用的原因與分詞的工作方式有關。至關重要的是,它是在替換變數的值之後應用的。而分詞將值中的每個字元都IFS當作分隔符,所以通過構造,只要IFS設置為非空值,就可以進行${IFS}分詞。如果IFS長度超過一個字元,則每個字元都是一個單詞分隔符。作為空格的連續分隔符被視為單個分隔符,因此擴展的結果cat${IFS}file.txt是兩個單詞:catfile.txt。非空白分隔符被單獨處理,類似IFS=',.'; cat${IFS}file.txt,cat將接收兩個參數:一個空參數和file.txt.

引用自:https://unix.stackexchange.com/questions/351331