差异 % 和 $> 命令行结果行尾

差异 % 和 $> 命令行结果行尾

为了练习,我必须创建一个文件 print_groups.sh。当我这样做时,sh print_groups.sh结果应该是用逗号分隔的 $USER 组列表。

我进行了两次不同的尝试:

groups $FT_USER | tr " " "," | tr -d '\n'

结果如下:

group,group,group%

groups $FT_USER | tr " " ","

结果如下:

group,group,group

尽管在练习描述中的示例结果显示了这一点:

$>./print_groups
group,group,group,group$>

我认为 $> 和 % 都是终端的行尾字符。有人知道这两者之间的区别吗?

答案1

您看到的字符是终端提示符。由于您删除了最后一个回车符,因此%脚本不会打印 CRLF,并且退出程序时提示符会显示在输出之后,而不是从新行开始。$>tr -d '\n'

编辑:在 Linux 中,提示保存在变量中PS1,我不确定 BSD 或 Mac 是否如此。您可以使用查看其值echo $PS1

相关内容