【发布时间】:2012-09-04 02:17:06
【问题描述】:
我正在尝试比较用户的umask。我在进行比较时遇到错误。我使用的代码是
val=`su - user -c "umask" | tail -2 | sed -n "/[0-9]/p"`
if [ $val -eq 744 ]
then
echo "477 found."
fi
当我执行此操作时,我收到如下错误:
sh: ^[H: A test command parameter is not valid.
我已经尝试在比较命令中使用=,但仍然无法正常工作。
请给点建议。
问候。
val 已初始化为0。
我以 root 身份运行它,所以没有登录。
我也尝试过引用。
【问题讨论】:
-
测试前 $val 中的内容是什么?试试
echo "$val" -
su是否会生成密码提示,最终是val的值? -
val 在发出命令之前被初始化为 0。我以 root 身份运行这个脚本,所以没有密码提示
-
你在测试前检查(即输出)$val 的值了吗?里边啥啊?顺便提一句。
umask的输出是什么?对我来说,它只是 umask,所以不需要 tail 和 sed ... -
你能在你的机器/shell上给出
umask的输出吗?没有tail和sed,它对我有用。
标签: linux shell unix interactive