使用sudo执行脚本时的语法错误

时间:2019-01-21 10:40:22

标签: bash sudo

使用sudo启动脚本时遇到问题,尽管我没有问题,并且在没有sudo的情况下脚本可以正常工作。

电话是: mapfile -t dataList< <( tac /tmp/result.log | grep 'Command' | cut -d" " -f1 ) 错误是“意外符号“ <”附近的语法错误。 sudo命令是: sudo -u victor /tmp/parse.sh

谢谢大家的帮助...

1 个答案:

答案 0 :(得分:0)

听起来像是另一种外壳程序正在执行您的脚本,但脚本不了解所使用的语法。

您的脚本/tmp/parse.sh的标题行中可能缺少#!/bin/bash(或类似名称),并且可以使用其他shell(root用户的登录shell?)来执行它。

可以通过在脚本标头中添加缺少的#!行(推荐)或通过显式调用Shell来解决此问题:

sudo -u victor bash /tmp/parse.sh