Процент в переменной среды $PATH

Один протест является непротиворечивостью. Например, если Вы берете резервное копирование, в то время как Firefox обновляет свою базу (базы) данных, они могут стать поврежденными. Это включает закладки Firefox. Таким образом, Вы могли бы закрыть другие запущенные приложения прежде, чем выполнить резервное копирование... Программное обеспечение More использует базы данных в наше время, включая рабочий стол KDE, таким образом, это начинает становиться немного неловким.

man rsync говорит мне это -a уже подразумевает -r и -p. Я использую -a и --delete. Я думаю, что это должно быть хорошо для большинства целей.

Похоже, что Ваше резервное копирование будет читаемым и записываемым любым пользователем. После восстановления резервного копирования это могло бы вызвать проблемы с некоторыми инструментами. Одним примером был бы SSH, который может отказаться функционировать, пока Вы не исправляете его конфигурацию, чтобы быть безопасными снова. Таким образом, я лично не использовал бы chmod опцию.

Вам могло бы также понравиться rdiff-резервное-копирование. Это подобно использованию rsync, кроме Вас не должны указывать -a --delete, и "дополнительный реверс diffs хранятся в специальном подкаталоге целевого каталога, таким образом, можно все еще восстановить файлы, потерянные некоторое время назад".

16
29.04.2014, 00:51
1 ответ
[118235]Это не оболочка Борна, или [118650]bash[118651], эмулирующая оболочку Борна, это оболочка Альмквиста, в вашем случае, вероятно, оболочка Альмквиста (вилка Debian из sh BSD, основанная на оригинальной оболочке Альмквиста). [12180]В оболочке Almquist (оригинальной и современной версии) [118652]%[118653] используется в [118654]PATH[118655] для дополнительных возможностей, специфичных для [118656]ash[118657]. Цитата из документации:[12181]Path Search[12182]При поиске команды, оболочка сначала смотрит, есть ли в ней оболочка функционирует под этим именем. Тогда, если PATH не содержит записи для [118846] %builtin [118847], ищет команду builtin с таким названием. Наконец, он ищет каждую запись в PATH по очереди для команды.[12183]Значение переменной PATH должно представлять собой серию записей, разделенных следующим образом Двоеточия. Каждая запись состоит из имени записной книжки или имени справочника. за которым следует флаг, начинающийся со знака процента. Текущий каталог должно быть указано пустым именем каталога. Если знак процента отсутствует, то запись заставляет оболочку искать для команды в указанном каталоге. Если флаг [118848]%builtin[118849]. затем ищется список команд сборки оболочки. Если флаг [118850]%func[118851] затем выполняется поиск в каталоге файла, который считывается как вход в оболочку. В этом файле должна быть определена функция, именем которой является имя искомой команды.[12184]Имена команд, содержащих косую черту, просто выполняются без исполнения В других оболочках, таких как [118666]ksh[118667] или [118668]zsh[118669], механизм автозагрузки функций аналогичный, но они используют другую переменную ([118670]$FPATH[118671]), но вы не можете определить, какая из функций или исполняемых файлов имеет приоритет. [12186]В вашем случае [118672]/home/torbjorr/deployed/vector/x86_64-GNU%2fLinux[118673] интерпретируется как каталог [118674]/home/torbjorr/deployed/vector/x86_64-GNU[118675] с флагом [118676]2fLinux[118677]. Этот флаг игнорируется, так как неизвестен.[12187]Обходного пути нет. Даже если бы у пепла был механизм выхода, чтобы этот [118678]%[118679] не обрабатывался специально, он бы не работал в других оболочках или других вещах, которые ищут [118680]$PATH[118681], таких как [118682]execvp()[118683]. [12188] Вам нужно будет удалить символы [118684]%[118685] из [118686]$PATH[118687], поэтому переименуйте ваш каталог или добавьте сим-ссылку.[12189] Или не используйте [118688]ash[118689] для вашего [118690]/bin/sh[118691]. Другие легковесные реализации оболочки POSIX, которые не делают этого, включают [12190]yash[12191] и [118694]mksh[118695].[118250].
15
27.01.2020, 19:48

Теги

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