shell脚本的数组声明在预定的cron作业中不起作用?

时间:2013-03-04 19:34:12

标签: linux shell cron crontab

我创建了一个名为“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

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

2 个答案:

答案 0 :(得分:1)

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

#!/bin/bash

答案 1 :(得分:0)

如果此问题仍然有效,请使用

运行脚本
bash script.sh

我也尝试过sh,不管怎么说它不能用sh工作但是用bash太阳光了。