0

我创建了一个名为“script.sh”的 shell 脚本,它读取数组元素并将其打印在终端上。脚本如下:

 arr=("hello" "world")
for i in ${arr[@]}
do
echo  $i;
done

它在终端中执行时给出了预期的输出,即“Hello World”,但是如果我在 crontab 作业中安排相同的脚本每分钟自动执行一次并将输出存储在另一个文件中,则作业失败并给出

/home/vikash/script.sh: 1: Syntax error: "(" unexpected错误。

每分钟执行一次脚本并将输出存储在另一个文件中的 crontab 作业如下:

* * * * * $HOME/script.sh >> $HOME/output.log 2>&1

在这种情况下如何使用数组?请帮忙。

4

2 回答 2

2

在脚本的第一行之前添加:

#!/bin/bash
于 2015-03-21T12:38:17.037 回答
0

如果这个问题仍然有效,只需运行您的脚本

bash script.sh

我也用 sh 试了一下,它不能用 sh 工作,但用 bash 可以很顺利。

于 2017-03-10T08:20:09.900 回答