Не может развернуть звездочку без верных полномочий

%c Интерпретирует связанный аргумент как символ: только первый символ данного аргумента печатается

У Вас, кажется, уже есть способ распечатать их, но вот один вариант.

for i in `seq 32 127`; do printf "\x$(printf "%x" $i) $i"; done
16
20.11.2013, 02:27
2 ответа

Оболочка это делает расширение * подстановочный знак является оболочкой, где Вы вводите его. Если оболочка имеет разрешение прочитать список файлов в каталоге, то это расширяется /temp/sit/build/* кому: /temp/sit/build/file, и выполнения sudo с аргументами ls, -l и /temp/sit/build/file. Если оболочка не может найти соответствие для /temp/sit/build/* (является ли это, потому что нет никаких соответствий, или потому что оболочка не имеет никакого разрешения видеть соответствия), затем это оставляет шаблон в покое, и sudo назван с аргументами ls, -l и /temp/sit/build/*.

С тех пор нет никакого названного файла /temp/sit/build/*, ls команда жалуется, передаете ли Вы ее то имя. Вспомните это ls не разворачивает подстановочные знаки, это - задание оболочки.

Если Вы хотите, чтобы подстановочное расширение произошло в каталоге, где у Вас нет разрешения чтения, то расширение должно произойти в оболочке, которой это запускается sudo вместо в оболочке, которая звонит sudo. sudo автоматически не запускает оболочку, необходимо сделать это явно.

sudo sh -c 'ls -l /temp/sit/build/*'

Здесь, конечно, можно сделать sudo ls -l /temp/sit/build/ вместо этого, но это не делает вывод к другим шаблонам.

20
27.01.2020, 19:48

В некоторых редких случаях вам нужно дважды проверить, не отключили ли вы globbing для вашей оболочки, которая может выдать No such file or directory при попытке перечислить файлы с подстановочным знаком (*).

Например:

$ ls /tmp/sit/build/*
/tmp/sit/build/file
$ set -f
$ ls /tmp/sit/build/*
ls: cannot access /tmp/sit/build/*: No such file or directory
$ set +f
$ ls /tmp/sit/build/*
/tmp/sit/build/file

Проверьте help set для получения дополнительной информации.

1
27.01.2020, 19:48

Теги

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