Intereting Posts
Монитор Мигает Вызов функции, которая вызывает другую функцию с циклом for Приложения, которые работают на Mono в Ubuntu Отмена выполнения демонов во время загрузки File Globbing: добавление * * & * * вместе как разбить строку после сопоставления определенного символа с помощью команды оболочки? cp: не может stat `/vol/examples/tutorial/science.txt ': нет такого файла или каталога Как удалить запятую (,) между двумя словами, используя Bash Как установить программное обеспечение RAID-5, созданное Windows под Linux? UDF и fstab (без UUID) stty не отображает ярлык обратного удаления Сериализовать переменную оболочки в bash или zsh Есть ли способ, с помощью которого я могу рекурсивно рекурсивно перебирать все файлы в текущем каталоге, чтобы найти шаблон, а затем распечатать его в порядке от максимума до минимума? Ubuntu 14.04.02LTS resolvconf -u создает недопустимую строку «nameserver Google» в файле resolv.conf Изменение записей в файлах с фиксированной шириной

Почему без кавычек $ PATH, содержащие пробелы, безопасны в назначении?

Что означает следующее из https://unix.stackexchange.com/a/154290/674 ?

В общем случае в shellх, отличных от zsh, $ PATH вне двойных кавычек разрывается, когда значение содержит пробелы или другие специальные символы, но в присваивании это безопасно

Не могли бы вы привести пример? Благодарю.

Переменные в простых присваиваниях (например, a=$b ) по определению (т. Е. Спецификации POSIX) обычно не нужно заключать в кавычки – во всяком случае, в большинстве случаев. Это связано с тем, что в этих назначениях «разбиение строк» ​​и «глобализация» (т. Е. Пробелы и символы подстановки, такие как * ) не расширяются.

В других случаях, кроме присваиваний, переменная ( echo $b ) раскрывается – включая пробелы (разбиение строк) – и, следовательно, должна быть заключена в кавычки ( echo "$b" ), чтобы избежать проблем, если она содержит пробелы , Например, подумайте, не использую ли я echo в качестве примера, а вместо этого другую команду: cmd $b получит несколько аргументов, если в $b есть пробелы, но cmd "$b" получит один аргумент, даже если он есть пробелы.

Смотрите также: https://stackoverflow.com/questions/3958681/quoting-vs-not-quoting-the-variable-on-the-rhs-of-a-variable-assignment