Почему делает 'nohup команду>, и/dev/null', кажется, “работают” в некоторых оболочках?

Я закончил тем, что установил установочный диск Debian на карте флэш-памяти с интерфейсом USB с помощью 'sudo dd, если = "~/Desktop/mini.img" = "/dev/rdisk2 bs=1m", затем от успешной установки Debian я мог chroot в хинду tarball, и устанавливать тот путь. Для переформатирования жестких дисков я загрузился в "спасательный" режим диска установки Debian. То же пошло для фиксации yaboot проблемы после того, как я закончил свою установку хинду execting оболочка в хинду разделе, я смог зафиксировать yaboot, не будучи должен загрузить операционную систему.

Я был наконец успешен, спасибо всем за справку.

12
13.04.2017, 15:22
1 ответ
[12166] - это синтаксис POSIX и то же самое, что:[12167]- это запуск [1123537] nohup gedit[1123538] в фоновом режиме, а затем выполнение [1123539]> /dev/null[1123540] перенаправления без выполнения команды.[12168]- это не синтаксис POSIX и это [1123541]csh[1123542] способ перенаправить как stdout, так и stderr на /dev/null. [1123543]csh[1123544] не имеет оператора [1123545]2>&1[1123546], найденного в Bourne, так что это единственный способ [1123547]csh[1123548] перенаправить stderr. [12169]zsh[1123550] (как часто) также предоставляет синтаксис [1123551]csh[1123552], но он также поддерживает оператор [1123553]x>&y[12170]fd дублирование[1123556] оболочки Борна, что означает, что там есть конфликт. [12171]перенаправляет [1123557]ls[1123558] stdout и stderr в [1123559]file[1123560], но если файл [1123561]2[1123562], то возникает проблема, так как [12172]означает перенаправление stdout на ресурс, на который указывает fd 2 ([1123563]dup(2, 1)[1123564]). Поэтому вам нужно записать:[12173]если вы хотите перенаправить как stdout, так и stderr из [1123565]ls[1123566] в файл с именем [1123567]2[1123568] в текущем каталоге; или использовать стандартный синтаксис. Изначально [12174]bash[1123570] не понимал [1123571]>&[1123572], но вместо этого он ввел оператор [1123573]&>[1123574], нарушив соответствие POSIX в процессе (хотя маловероятно, что скрипт будет использовать [1123575]cmd &> xxx[1123576]). [12175]ksh[1123578] скопировал этот оператор в ksh93t+ в 2009 году, мкш в R35 в 2008 году (отключен в режиме [1123579]posix[1123580]), но не [1123581]>&[1123582].[12176]bash[1123584] добавил поддержку для [1123585]>&[1123586] в 2.05. [12177]busybox [1123587]sh[1123588] добавили поддержку как для [1123589]&>[1123590], так и для [1123591]>&[1123592] в 1.13 (2008).[12178]Ни для [1123593]>&[1123594], ни для [1123595]&>[1123596], поскольку значения перенаправления stdout и stderr являются POSIX/Bourne. [12179]Если вы хотите перенаправлять и stdout, и stderr портно, синтаксис [12180]
18
27.01.2020, 19:55

Теги

Похожие вопросы