Я пытаюсь понять вышеуказанную команду.
sudo /bin/ls %s %file_path
Что делает
%
? Это какой-то замещающий механизм?Что делает
sudo /bin/ls
?
Я пытаюсь понять вышеуказанную команду.
sudo /bin/ls %s %file_path
Что делает %
? Это какой-то замещающий механизм?
Что делает sudo /bin/ls
?
% в bash-скриптинге означает привязку, но иногда она может варьироваться в зависимости от программы в зависимости от того или иного параметра. Для Ls она ничего не делает. Для sudo он делает некоторые вещи, но не в этом контексте; это не имеет смысла для меня ... эта команда просто пытается (как root; для записи, почти никогда не нужно запускать ls от имени root, очень мало мест, где обычные пользователи не могут получить доступ к именам файлов через ls) ищите в каталогах% s и% foo для файлов и должны дать нам результат "ls не может получить доступ к% s: нет такого файла или каталога" и почти то же самое для% foo. (Не может быть каталога% s, если вы его не создали)
Для сценариев это делает ниже.
С http://wiki.bash-hackers.org/syntax/pe:
Привязка Кроме того, вы можете "привязать" выражение: # (хэшмарк) будет указывать, что ваше выражение сопоставляется с начальной частью строки, а% (знак процента) сделает это для конечной части.
MYSTRING=xxxxxxxxxx
echo ${MYSTRING/#x/y} # RESULT: yxxxxxxxxx
echo ${MYSTRING/%x/y} # RESULT: xxxxxxxxxy
(Что делает код, так это то, что он торгует либо первым, либо последним "x" за "y")