1
我遇到了一個奇怪的情況。我在RHEL 6.3上。我正嘗試使用內置的「讀取」命令來讀取數組中文件中的行並對其進行處理。linux內置讀命令標誌
在我的劇本,我使用
while IFS=" " read -r -a appInfo
do
echo "4 ${appInfo[0]}"
echo "4 ${appInfo[1]}"
echo "4 ${appInfo[2]}"
echo "4 line *{appInfo[@]}"
currentApp="${appInfo[*]}"
.....
done < details.txt
它工作正常,當我在命令行中執行腳本。讀命令顯示以下信息
read: usage: read [-ers] [-a array] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]
如果我在命令行做read --version
,我得到
命令行版本讀取(AT & T研究所)2006-12-19
但是,當我嘗試執行Bamboo項目中完全相同的腳本,讀命令生成錯誤
read: -a: unknown option
Usage: read [-ACprsv] [-d delim] [-u fd] [-t timeout] [-n nchar] [-N nchar]
[var?prompt] [var ...]
竹:版本讀取(AT & T研究所)2006-12-19
因此,如果版本顯示相同的,爲什麼這些標誌表明不同?
可能是什麼問題。我怎樣才能解決這個問題,以便即使在從Bamboo計劃運行時也可以將該行讀入數組中?
RHEL 6.3已達到[end-of-life](https://access.redhat.com/support/policy/updates/errata)。由於目前的系統比舊系統的bug更少,是否有一個不升級的理由? – John1024
不確定。這個決定是由我們的運營團隊做出的,我們通常沒有任何權重。 :(但在這種情況下,爲什麼行爲有差異? – adbdkb
我不使用RHEL /竹子,但是通過'read'幫助消息判斷,它看起來像我的命令行腳本在'bash ''而腳本運行'ksh' – John1024