Специальный оператор - в bash - PullRequest
0 голосов
/ 14 апреля 2020

Я заметил использование 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? Является ли '-' чем-то родовым c в bash?

Ответы [ 2 ]

1 голос
/ 14 апреля 2020

- не указывается c до bash. Это соглашение используется во многих unix программах в качестве файла для обозначения «stdin» (для ввода) или «stdout» (для вывода).

В этом случае crontab обычно принимает параметр, который имя файла для чтения и загрузки в качестве нового содержимого cron. Вместо этого передача - означает «взять содержимое из стандартного ввода».

1 голос
/ 14 апреля 2020

Из справочной страницы crontab man crontab:

Первая форма этой команды используется для установки нового crontab из некоторого именованного файла или стандартного ввода, если задано псевдо-имя файла "-" .

Так что - заменяется на стандартный (то, что вы ему передали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...