Перенаправление: Как дополнительное слово входило в файл?

Я тестировал сценарий, и требуемый для создания маленького файла с небольшим количеством текста в нем так я ввел следующее и забыл выходить из пространства в имени файла:

echo "bob">other name

Когда я сделал ls, это показало файл "другой" и когда я сделал cat other, это показало содержание как:

bob name

Как "имя" входило в файл? Я полагаю, что видел где-нибудь, что можно поместить перенаправление где угодно в команду. На самом деле я просто протестировал это:

echo >other Some text in a file

и "Некоторый текст в файле" был содержанием "другого".

Какова цель этой функции?

Конечно, первоначально, я должен был ввести:

echo "bob">other\ name
5
задан 24.07.2009, 04:43

1 ответ

Это - то, как перенаправление удара работает.

Запись этого:

echo "bob">other name

эквивалентно этому:

echo "bob" name >other

перенаправление может появиться где угодно на строке, двойная угловая скобка (>) только относится к "другому".

Это позволяет людям гибкость того, как они хотят структурировать свои команды. Если это смотрит более четкое выполнение чего-то вроде этого:

>file.txt echo "one" "two" "three"

затем это до человека, пишущего сценарий или команду.

13
ответ дан 07.12.2019, 16:56

Теги

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