如何在不键入bash的情况下运行shell脚本(bash命令错误:找不到mapfile)

时间:2016-11-07 05:48:11

标签: linux bash shell unix

我使用mapfile -t获取文本文件的内容并将其分配给数组。 在Jenkins中它可以正常工作,它会提示步骤以及在控制台输出中执行的命令。当我尝试在本地控制台中运行时,例如putty,它会提示。

mapfile: not found [No such file or directory]

我知道mapfile是一个bash命令,我可以在输入bash并执行脚本后运行shell程序。无论如何,我不需要键入bash才能运行程序?我在脚本之上包含#!/bin/bash -x它仍然显示相同的错误。我不想键入bash并执行脚本的原因是因为它没有显示脚本时的错误是什么die.It没有显示脚本中的错误处理过程,并且在运行命令时没有显示输出。

1 个答案:

答案 0 :(得分:2)

请在文本编辑器中打开一个名为script的新文件。在以下位置键入您的程序:

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

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

保存文件,执行chmod u+x然后

./script "-database" 

运行它。

那就是它。

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