2017-02-20 5 views
1

Так что я только начинал изучать скрипты bash. Я столкнулся с вопросом в книге. Пример тестового файла содержит следующее содержимое.Выполняет ли команда echo добавление нового символа строки в конец строки ввода?

$ cat testfile 
This is the first line. 
This is the second line. 
This is the third line. 

И файл сценария, как:

#!/bin/bash 
# testing input/output file descriptor 
exec 3<> testfile 
read line <&3 
echo "Read: $line" 
echo "This is a test line" >&3 

После запуска скрипта, то TestFile стали:

$ cat testfile 
This is the first line. 
This is a test line 
ine. 
This is the third line. 

Я понимаю, почему этот сценарий изменяет TestFile. Мой вопрос в том, почему "ine." начинается с новой строки? Может ли команда echo автоматически добавлять символ новой строки в конец строки?

+0

Посмотрите на 'help echo'. –

ответ

3

echo -n - это то, что вы ищете: опция -n инструктирует эхо «не выводить конечную новую строку».

FWIW: man echo на вашей платформе проинструктирует, какие опции выполняет команда/bin/echo. Но так как вы упоминаете bash как shell: bash имеет внутреннюю реализацию эха (так называемый «встроенный»)

+0

О, хорошо. понял, спасибо! – user5574376

 Смежные вопросы

  • Нет связанных вопросов^_^