bash中的特殊操作符

bash中的特殊操作符,bash,cron,stdin,Bash,Cron,Stdin,我注意到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中“-”是什么意思?“-

我注意到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中是通用的吗

从crontab手册页
手册crontab

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


因此,
-
被stdin(您通过管道传输到它的内容)所取代

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


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

它不是运算符;这是一个传统的文件名。谢谢你的回答。我接受另一个答案,因为它也可以用作标准输出。