2013-11-20 167 views
2

有一個簡單的殼(不要緊SH,bash或KornShell(KSH))腳本:殼牌用戶輸入長度限制

#!/bin/ksh 

read userInput 

我有兩個的Solaris 9/10服務器。在其中一臺服務器上,我可以在讀取運行時鍵入長字符串。但在另一臺服務器上,我無法輸入長度超過257個符號的字符串。

這是什麼樣的限制?

回答

1

這可能是終端輸入隊列的大小限制,MAX_INPUT常量是該隊列的最大大小。

不能確切地記住,但內核可以定製(設置)來處理這些常量的新值。請參閱您的系統內核配置文檔。

+0

奇怪,因爲當我執行命令「讀userInput」從命令行沒有這樣的長度限制。 – user947668

+0

你說得很奇怪。當時我手中沒有Solaris。終端模式可能有一個副作用。看看「stty」模式是否與衆不同,這可能是關鍵...... –