2016-11-07 68 views
0

我正在使用mapfile -t來獲取文本文件的內容並將其分配給數組。 在詹金斯它工作正常,它會提示步驟和在控制檯輸出中執行的命令。當我嘗試在本地控制檯運行例如putty時,它會提示。如何在不輸入bash的情況下運行shell腳本(bash命令錯誤:mapfile未找到)

mapfile: not found [No such file or directory]

我知道,映射文件是bash命令是,我能夠鍵入bash和執行script.Is反正有後運行shell程序,我並不需要以類慶典,以運行程序?我在腳本的頂部包含#!/bin/bash -x它仍然顯示相同的錯誤。我不想鍵入bash並執行腳本的原因是因爲它沒有顯示腳本死亡時的錯誤。它沒有顯示腳本中的錯誤處理過程,它在運行命令時不顯示輸出。

+0

Bash的哪個版本? –

+0

你是如何調用'mapfile'命令的?複製粘貼語法 – Inian

+0

@RuslanOsmanov -4.2.25(1)-release – RandyWong

回答

2

請在文本編輯器中打開一個名爲script的新文件。在鍵入您的程序:

#!/bin/bash -x 
set -e 
item=$1 

if [ $item = '-database' ] then 
    mapfile -t DATA < $DATA_FILES 
fi 

保存文件,執行chmod u+x然後

./script "-database" 

運行它。

就是這樣。

但是,該腳本將不會打印任何內容。