Короткий ответ: не делайте этого.
Длинный ответ: Это раньше было установкой по умолчанию полей Unix. Но это приводит к непреднамеренному совместному использованию данных, даже возможность модификации данных поддерживающими пользователями, если существует ошибка в полномочиях. Со временем, большинство установок Unix/Linux, перемещенных в установку с группой для каждого пользователя. Первоначально, когда пользователь принадлежал нескольким группам (основная группа, и дополнительные группы, в Unix - говорят), для получения полномочий другой группы, которую нужно было дать группе для переключения на, и программа для выполнения к специальной программе (имя выходит из меня, это было долгое время...). С сегодняшними системами каждый процесс принадлежит всем группам одновременно, таким образом, это больше не необходимо. Просто разместите всех пользователей в группу, которой принадлежат совместно используемые файлы. Еще больше детализированных полномочий доступно в файловых системах, который обрабатывает ACLs, где можно присвоить полномочия отдельных пользователей на файле, независимом от пользователя/группы/других. Посмотрите на страницы руководства для acl (5), chacl (1).
'
символ одинарной кавычки в вашем эхо
пример получает его литеральное значение (и теряет его значение), поскольку это включило в двойные кавычки ("
). Символы включения являются двойными кавычками.
то, Что можно сделать, распечатать одинарные кавычки отдельно:
echo "'"'$a'"'"
или побег $
:
echo "'\$a'"
Вы неправильно понимаете документацию:
наличие это - особое значение внутри, экранировал бы $ от специальной интерпретации
"Наличие ее особого значения", означает, что это интерпретируется особенно не буквально. Одинарные кавычки предотвращают $
от того, чтобы быть расширенным. Но одинарные кавычки в двойных кавычках являются буквенными символами, т.е. они ни на что не влияют. Если вы хотите вывод $a
затем, вам нужно эхо '$a'
.