LINUX.ORG.RU

Дебилы, б... (это предыдущим комментаторам)

sudo chown -R someuser:$(id -g -n users-lalala) some_folder

anonymous
()
Ответ на: комментарий от other_animals

Разлогиниваешься и постишь.

Темы нельзя создавать анонимно, кроме новостей.

anonymous
()
Ответ на: комментарий от other_animals

Это не просто «вывод предыдущей программы», а использование переменных. С таким же успехом можно, например, делать так:

MYGROUP=$(id -g -n) ; chown -R someuser:$MYGROUP some_folder

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Только это не просто вывод из программы или какие-то переменные (при чём тут они вообще, синтаксис похож на ${}? ну пиши с `), а command substitution. Приложение выполняется в отдельной оболочке и возвращает результат.

anonymous
()
Ответ на: комментарий от anonymous

Любой текстовый буфер - это, по сути, и есть текстовая переменная. А объявлена ли она явным образом или нет - это уже другой вопрос.

В то время как ввод-вывод программ - это текстовые потоки, а не переменные.

saahriktu ★★★★★
()
Ответ на: комментарий от anonymous

Шо то, шо то просто участок в памяти, используемый как буфер.

Выплюньте каку и разговаривайте по человечески. Вызов любой программы происходит либо с передачей аргументов в виде вектора, потому в рассматриваемом решении «someuser:$(id -g -n)» буфер будет результатом строчного выражения склейки записан в arg[4], либо, если это возможно, то можно передать через пайп (в данном случае — нет), либо в комплексе. Передавать мегабайты в виде аргументов — глупость несусветная, потому через буфер пайпа с размером в страницу намного правильнее. Заводить переменные в интерпретаторе, если они больше не понадобятся особого смысла нет, так как там всё это развернётся в приличный код, а не в какой-нибудь регистр на компилируемом языке, где это будет равнозначно.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.