首页 文章

一个shellcript的数组声明在预定的cron作业中不起作用?

提问于
浏览
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

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

2 回答

  • 0

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

    #!/bin/bash
    
  • 1

    如果此问题仍然有效,请运行您的脚本

    bash script.sh
    

    我也尝试用sh不知何故它不能用sh工作但是用bash它太阳光了 .

相关问题