如何在 shell 脚本中使用 -ne 标志进行 echo?

rob*_*ith 5 linux bash iterm shell-script bash-scripting

我正在尝试创建一个 shell 脚本来接受一个参数并使用它来命名终端选项卡。因此,如果脚本的名称是 tabnm,则 tabnm "test" 应该将当前选项卡重命名为 "test"

这是我的代码:

#!/bin/sh
echo -ne "\e]1;$1\a"
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我得到了这个输出:

robin@icarus $ sh tabnm.sh test
-ne \e]1;test

如果我直接在 shell 中运行 echo -ne "\e]1;Test\a" ,选项卡将被重命名。

gee*_*aur 5

这将是echoin/bin/sh与交互式 shell之间的区别。我建议printf改用,并参阅The UNIX and theecho .