Linux

Linux命令行字元限制

  • March 30, 2022

我正在將一個變數傳遞給命令行上的腳本。命令的字元數限制是多少?例如:

$ MyScript reallyreallyreally...reallyreallyreallylongoption

謝謝。

shell/OS 強加的限制通常是 1 或 20 萬個字元。

getconf ARG_MAX將為您提供命令的最大輸入限制。在 Debian 系統上,我目前在返回時打開了一個終端131072,即128*1024. 您的環境變數會減少限制,如果我沒記錯的話,這些限制會由 shell 以相同的結構傳遞,儘管在大多數情況下只會佔用幾百個字元。要找到該值的近似值,請執行env | wc -c- 這表明目前在這台機器上登錄時需要 325 個字元。

腳本可能會允許這樣的完整長度,但其他實用程序不太可能有意或通過設計問題強加自己的限制。長命令行上單個參數的長度和/或文件路徑的長度也可能存在人為限制。

引用自:https://serverfault.com/questions/163371