Иногда, когда я ввожу определенную команду, я получаю вывод, который выглядит примерно так.
>
>
>
>
На что ТОЧНО ссылаются символы?
решение1
Ваше дело
Символ ">" в данном случае означает, что терминалу требуется больше ввода после того, как вы нажаливходитьключ.
В вашем случае у вас есть строка, которая не была закрыта. Например, если я введу следующую команду echo "Hello
, а затем нажму Enter, она выдаст мне ">" до тех пор, пока я не закрою строку. Пример:
Если я введу:
eric@Ubuntu: /home/eric$ echo "Hello
>what?
>single quotes won't close it?'
>but double quotes will! "
Будет выведен следующий вывод:
Hello
what?
single quotes won't close it?'
but double quotes will! "
Это позволяет иметь одну строку, охватывающую несколько строк, без необходимости явно вводить символ новой строки «\n».
Дополнительная информация
Тот факт, что для этого приглашения выводится ">", а не что-то другое, устанавливается $PS2
переменной окружения. Если вы установите $PS2
что-то другое, то именно это вам и будет предложено.
Другой способ отобразить эту подсказку — поставить обратную косую черту ("\") в конце строки. По сути, это объединяет две строки, например, следующие две строки:
eric@Ubuntu: /home/eric$echo "Hello \
>There my friend"
будет обработан как eric@Ubuntu: /home/eric$echo "Hello There my friend"
и просто выведен Hello There my friend
.
Оба эти метода используются для форматирования вашего кода в более читаемый вид. Это может быть неприятно в первые несколько раз, когда вы видите это, так как вы не знаете, что на самом деле является причиной, но когда вы пытаетесь сделать длинный код или вывод кода читаемым, они оба окажутся полезными.
решение2
Канал также может использоваться для добавления информации в файл, например, если вы введете в терминале следующее:
echo "Test Line" > test.txt
Это установит содержимое файла test.txt в "Test Line" с символом новой строки в конце. Если файл еще не существует, он будет создан.
echo "Test Line" >> test.txt
Это добавит "Test Line" и символ новой строки в конец файла test.txt, если он существует. Если он не существует, то файл будет создан пустым, а затем эта строка будет добавлена в него.
решение3
>
означает перенаправление потока на
>>
означает перенаправление на но в конце
это относится только кстандартный вывод
в то время как 2>
относится кstderr, очевидно, использование 1>
то же самое, что и>
стандартный выводэто нормальный вывод программы,stderrэто вывод ошибок для программ. Итак, есть два вывода. Вы можете перенаправить два вывода, используя&>
больше информации здесьhttp://www.tldp.org/LDP/abs/html/io-redirection.html