特殊运算符-以bash显示

问题描述 投票:-1回答:2

我注意到crontab的用法

crontab -

如果我在此命令中回显某些内容,则它可以覆盖cron内容,例如,

$ crontab -l
...
# m h  dom mon dow   command
* * * * * /bin/ls
$ crontab -l | sed 's/ls/cd/g' | crontab -
$ crontab -l
...
# m h  dom mon dow   command
* * * * * /bin/cd

问题:bash中的“-”是什么意思? bash中的“-”是通用名称吗?

bash cron stdin
2个回答
1
投票

-不特定于bash。这是许多Unix程序作为文件使用的约定,表示“ stdin”(用于输入)或“ stdout”(用于输出)。

在这种情况下,crontab通常采用一个参数,该参数是要读取并加载为新cron内容的文件名。相反,传递-表示“从标准输入中获取内容”。


1
投票

从crontab联机帮助页man crontab

此命令的第一种形式用于从以下位置安装新的crontab一些命名文件或标准输入,如果给出了伪文件名“-”。

因此-被stdin(您通过管道传递给它的东西)代替。

© www.soinside.com 2019 - 2024. All rights reserved.