命令列引數限制ARG MAX, ncargs

2021-09-02 12:14:46 字數 559 閱讀 8566

執行命令有時候會報「argument list too long」,例如當前目錄檔案很多時執行mv * 或rm *,該錯誤表示執行命令的引數太長,超過系統允許的最大值,這個值通過arg_max引數控制。

可以通過 getconf arg_max可檢視系統當前設定的值。

隨便在幾台機器上跑了下:

aix:2097152

虛擬機器rhel5:131072

rhel6:2621440

修改arg_max的大小,以aix舉例:

1.使用命令lsattr -el sys0 -a ncargs檢視ncargs占有位元組,

輸出結果:ncargs 512 arg/env list size in 4k byte blocks true

2.getconf arg_max 檢視arg_max設定值大小,

2097152

3. 調整

ncargs占用位元組:

chdev -l sys0 -a ncargs=8 表示設定ncargs占用8位元組,

增加這個值就可以修改arg_max引數的設定了。

命令列引數

c 程式設計師參考 main方法可以使用引數,在這種情況下它採用下列形式之一 static int main string args static void main string args main方法的引數是表示命令行引數的string陣列。通常通過測試length屬性來檢查引數是否存在,例如 ...

命令列引數

c程式中的mian具有兩個形參。int main int argc,char argv argc 命令列引數的數目 argv 指向一組引數值的第乙個元素 每個元素都是指向乙個引數文字的指標 指標陣列 每個元素都是乙個字元指標,陣列末尾是乙個null指標,argc的值和這個null都用於確定實際傳遞了...

命令列引數

命令列引數,也是一種形式的引數。它與我們常見的函式的引數的不同點在於,他是傳遞命令列的引數。c 中可以指定任意數量的命令列引數存放在args陣列中。args陣列的第乙個元素是執行該程式的.exe檔名。向其中新增命令列引數的方法 開啟專案屬性頁面 解決方案資源管理器中,所在專案的properties選...