【发布时间】:2023-03-27 16:10:02
【问题描述】:
我正在尝试使用 bash 脚本在远程服务器中设置 cron Job。命令如下:
ssh $NODE_USER@$NODE_HOST "cat <(crontab -l) <(echo "33 03 * * 0-6 $Scripts_dir/runStaticHTML.sh -c $Scripts_dir/staticHTML.conf") | crontab - "
当我直接在服务器内部执行这个命令时,它运行良好。但是当我通过这个 Bash 运行时,它给出了以下错误
copysetup.sh: command substitution: line 68: syntax error near unexpected token `('
copysetup.sh: command substitution: line 68: `cat <(crontab -l) < (echo "33 03 * * 0-6 $Scripts_dir/runStaticHTML.sh -c $Scripts_dir/staticHTML.conf") | crontab - '
它最终会登录到远程服务器。
当我退出服务器时,它会给出以下错误。 Vim:警告:输出不是终端 Vim:警告:输入不是来自终端
【问题讨论】:
-
看起来
ssh服务器正在运行脚本undefsh,而不是bash,因此无法使用<(...)进行进程替换。