这是一个非常简单的bash脚本。
#/usr/bin/env bash
set -e
containerName=$1
if [ "$containerName" == "" ]; then
echo "Hello"
fi
如果我调用没有参数的脚本,那么预期的行为应该是打印“Hello”;否则,它什么都不做。
如果我像这样调用脚本./test.sh
,它可以正常工作。
但是,如果我用sudo调用它,例如sudo ./test.sh
命令失败并显示错误:
./test.sh: 5: [: unexpected operator
我在这里做错了什么?为什么sudo会以这种方式修改程序的行为?