Можно использовать ps -ef
для рассмотрения дочернего pid родительский идентификатор является тем, который сделал разветвление или порождение. Вы могли использовать watch
запускать скрипт регулярно и делать значить Вас.
Это несоответствие на самом деле является первой причиной в списке причин, по которым csh программирование считается вредным.
Или что, если вы просто хотите выбросить stderr и оставить stdout. В одиночку? Довольно простая операция, да?
cmd 2>/dev/null
Работает в панцире Борна. В csh, вы можете сделать только жалкий попытка подобная:
(cmd > /dev/tty) >& /dev/null
Но кто сказал, что вонючка моя? Так что это неправильно. Вот так просто операция НЕ МОЖЕТ СОБЫТЬ в сШ.
2>
не является оператором в tcsh
, вы используете оператор >
и передача 2
в качестве аргумента vi
. Этот кажется нормальным, поскольку обе - xxx
и - версия
выходят из vi
.
Из tcsh (1)
:
> name
>! name
>& name
>&! name
The file name is used as standard output. If the file does not
exist then it is created; if the file exists, it is truncated,
its previous contents being lost.
If the shell variable noclobber is set, then the file must not
exist or be a character special file (e.g., a terminal or
`/dev/null') or an error results. This helps prevent acciden‐
tal destruction of files. In this case the `!' forms can be
used to suppress this check.
The forms involving `&' route the diagnostic output into the
specified file as well as the standard output. name is
expanded in the same way as `<' input filenames are.
Таким образом, вы можете использовать > &
для перенаправления как stdout, так и stderr ( «диагностический вывод» ).Не существует «очевидного» способа только перенаправить stderr, и это давний недостаток оболочки C, известный обходной путь:
(vi --xxx > /dev/tty) >& /dev/null
Это работает путем перенаправления stdout на / dev / tty
(текущий tty) в подоболочке (паренсы делают то же, что и в оболочках bourne), а вывод подоболочки (который является только stderr, поскольку мы перенаправили stdout) перенаправляется на / dev / null
(но это может быть что угодно, например файл).
Я не знаю, какова ваша цель, но в случаях, когда вы не можете быть уверены в том, какую оболочку использует пользователь, я обнаружил, что обычно лучше всего установить ее явно; ракушек больше, чем "борн и сш", таких как рыба,также могут быть небольшие несовместимости между различными оболочками Борна и / или некоторые конструкции могут «работать» в одной оболочке, а не в другой ...