2016-11-07 37 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" 

运行它。

就是这样。

但是,该脚本将不会打印任何内容。