Почему я не могу создать файл в каталоге, где у меня есть групповой доступ на запись? [дубликат]

Если вы хотите добавить (содержимое) xyz.sh в вау .sh , самый простой способ:

cat xyz.sh >> wow.sh

Использование read для получения того же результата не так просто, как может показаться. \ - специальный символ в оболочке. Вам нужно будет использовать параметр -r , что означает:

    -r      do not allow backslashes to escape any characters

cat делает это по умолчанию. Более того, read в любом случае не является подходящим инструментом для выполнения такого рода операций. Интуиция должна сказать вам то же самое, если вы сравните синтаксис обеих команд.

Есть еще одна команда, которая может вас заинтересовать. Это встроенный исходный код , также вызываемый . . Если вы получаете файл из своего сценария, он работает так, как если бы содержимое исходного файла присутствовало в сценарии. Таким образом, размещение этой строки в wow.sh :

. xyz.sh

или

source xyz.sh

не копирует содержимое xyz.sh в wow.sh , но само содержимое xyz.sh выполняется, а wow.sh выполняется, как если бы оно присутствовало в сценарии. Конечно, только если файл xyz.sh присутствует во время выполнения скрипта wow.sh .

10
28.08.2015, 02:46
0 ответов

Теги

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