小编use*_*172的帖子

echo -e 在 ubuntu 上由 root 用户在脚本中运行时的行为不同

在 ubuntu 9.10 上运行 bash 脚本时,我从 bash echo 的“-e”选项得到不同的行为,具体取决于我是否以 root 身份运行。

考虑这个脚本:

$ cat echo-test
if [ "`whoami`" = "root" ]; then
  echo "Running as root" 
fi
echo Testing /bin/echo -e
/bin/echo -e "foo\nbar"
echo Testing bash echo -e
echo -e "foo\nbar"
Run Code Online (Sandbox Code Playgroud)

以非 root 用户身份运行时,我看到以下输出:

$ ./echo-test 
Testing /bin/echo -e
foo
bar
Testing bash echo -e
foo
bar
Run Code Online (Sandbox Code Playgroud)

以 root 身份运行时,我看到以下输出:

$ sudo ./echo-test 
Running as root
Testing /bin/echo -e
foo
bar
Testing bash echo -e
-e foo
bar
Run Code Online (Sandbox Code Playgroud)

注意“-e”在最后一种情况下被回显(“-e …

bash scripting ubuntu echo

3
推荐指数
1
解决办法
2874
查看次数

标签 统计

bash ×1

echo ×1

scripting ×1

ubuntu ×1