shellscript 的数组声明在计划的 cron 作业中不起作用?

vik*_*ash 1 linux shell cron

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

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

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

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

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

* * * * * $HOME/script.sh >> $HOME/output.log 2>&1
Run Code Online (Sandbox Code Playgroud)

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

小智 6

在脚本的第一行之前添加以下内容:

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)