Моим всем фаворитом времени является, вероятно, "Sudo xkcd, делают меня тестовым" комиком, но существует СТОЛЬКО хороших webcomics там, что я думал, что выведу некоторых других для забавы:
коллега А указал на меня на Палки и Камни , который просто начал симпатичный недавно. Это - вид xkcd грабежа, но там существует некоторый хороший материал. сопроводительный текст http://www.arcanology.net/sticksandstones/comics/comic-10.gif
Перья часто о программировании. Это, вероятно, мой фаворит: Перья, Drake Emko & Jen Brodzik http://hackles.org/strips/cartoon334.png Это - не совсем комик программирования, но я также действительно вырыл эту полосу от Полный Лобный Nerdery:
Полный Лобный Nerdity Aaron Williams http://nodwick.humor.gamespy.com/ffn/strips/2008-03-12.jpg
Вы используете две разных вещи здесь и должны использовать одну треть.Давайте посмотрим:
|
: Это канал оператор, он служит для передачи вывода одного процесса, как введено другому:
foo | bar
Это выполняет программу foo
и передает ее вывод как вход к программе bar
.
>
, <
, >>
и <<
: Это операторы перенаправления , они служат для отправки данных в [1 141] файлы :
foo > bar
: выполняет программу foo
и сохраняет ее вывод к файл bar
, , перезаписывающий <глоток> 1 глоток> ее содержание и создающий его, если это не существует.
foo >> bar
: выполняет программу foo
и сохраняет ее вывод к файл bar
, , добавляющий к ее содержанию и создающий его, если это не существует.
foo < bar
: выполнения foo
, говоря ему считать вход из файл bar
.
Эти <<
является особым случаем, так как нет, никакой смысл в "добавлении" входа к команде, эти <<
не, прежде всего (исключительно AFAIK) используется для [1 136] Здесь Документы :
$ cat << EOF > file.txt
> Hello World!
> EOF
конструкция << SomeStringHere > Out.file
перенаправит весь текст, записанный, пока это не встретится с конечной строкой (EOF
в примере выше) к конечному файлу. Здесь документы позволяют Вам легко форматировать многострочные строки и включать переменные и специальные символы.
<<<
оператор, Здесь Строка , похож Здесь Документ, но это разворачивает переменные. Так, например:
grep foo <<< "$bar"
команда выше эквивалентна [1 126].
то, Что Вы на самом деле ищете, называют замена процесса и является другим способом передать вывод команды другому. Это состоит из [1 127].
foo <(bar)
Так, для Вашего at
пример, Вы могли сделать
at now < <(echo "notify-send HELLO")
вышеупомянутые работы, потому что замена процесса на самом деле создает файл (прочитайте ссылку выше для получения дополнительной информации), и это - дескриптор файла того файла, который передается с [1 129] [1 130].
<глоток> 1 глоток> поведение по умолчанию должно перезаписать, это может быть изменено путем установки noclobber
опция колотить. Если установлено, echo foo > bar
перестанет работать, если bar
будет существовать. В этом случае это может быть вызвано с помощью [1 134] вместо этого. Посмотрите раздел 3.6.2 здесь .
В этом случае, echo "notify-send HELLO"
процесс не файл - таким образом, Вам нужно замена процесса , а не перенаправление файла
at now < <(echo "notify-send HELLO")
, Вы, возможно, также использовали здесь строка для предотвращения эти echo
команда полностью
at now <<< "notify-send HELLO"
<<<
(который @steeldriver упомянул в его ответе). Кроме того, там более - что-то как>>>>>>
или<<<<<<<<<<
? – Dan Robertson 20.05.2020, 06:13<<<
:) – Dan Robertson 20.05.2020, 06:13