为了练习,我必须创建一个文件 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
。