在 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 …