在命令后错误地添加了逗号 - 它会造成什么后果?

在命令后错误地添加了逗号 - 它会造成什么后果?

我的问题(希望)不是特别重要,但无论如何我都想知道答案。我总是喜欢学习新东西。

我用作为我的默认 shell,并想输入以下命令:

bash -c 'cat /home/rosika/update.txt | grep "<"'

预先运行某个脚本后此命令为我提供了最近的系统更新后的更改列表。

由于笨拙,我无意中在命令末尾添加了一个逗号:

bash -c 'cat /home/rosika/update.txt | grep "<"',

预期的命令似乎根本没有执行,返回值为“1”:

echo $status # equals "echo $?" in bash

1

所以我只想了解一下:添加的逗号到底起什么作用?非常感谢您的帮助。

许多问候。

羅西卡

附言:

我的系统:Linux/Lubuntu 18.04.5 LTS,64 位

答案1

它只是查找字符串,>,而不是>

 ~> bash -xc 'echo foo | grep "foo"',
+ echo foo
+ grep foo,

退出状态非零,因为 grep 没有找到匹配项。

 ~> bash -c 'echo foo, | grep "foo"',
foo,
 ~> echo $status
0

相关内容