Почему я могу изменить свой PATH на тарабарщину и по-прежнему использовать команды?

Извините за вопрос, который не совсем достоин StackExchange. Но прежде чем кто-то вложит в него настоящую работу, вот решение проблемы:

В конце концов я сделал очевидную вещь и переместил весь каталог ~/.gimp-2.8в сторону. Эх вуаля -типография работает.

Gimp заново заполнил этот каталог новыми файлами, и чтобы найти виновника , я восстановил свои старые файлы и начал заменять каждый файл там новым файлом, один за другим.

Я сразу же заподозрил файл с именем print-page-setup. Во-первых, это явно как-то связано с печатью, а во-вторых, он содержит строку PPDName=a4, в то время как в новом файле есть PPDName=A4, и я уже виделнижний регистрa4как часть $ppdcustзначение при отладкеbrother_lpdwrapper_DCPL2500D(см. мое первоначальное описание проблемы)

Замена print-page-setupна ~/.gimp-2.8сделала это . Дурак я!

Тем не менее, я до сих пор не знаю, как это значение вообще попало туда, но кого это волнует.

0
05.05.2020, 04:39
2 ответа

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

Например, если ваша оболочка bash, вы можете взглянуть на:https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html

Обратите внимание, что некоторые команды, которые внутренне влияют на оболочку, такие как cd, execи exit, например, не могут быть предоставлены внешним двоичным файлом, потому что они просто не будут работать должным образом (вообще даже ).

3
28.04.2021, 23:16

Предполагая, что ваша оболочка bash, существует множество встроенных оболочек, ключевых слов оболочки, псевдонимов оболочки, таких как встроенные оболочки:

alias, bg, bind, break, builtin, case, cd, command, compgen, complete, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, fc, fg, getopts, hash, help, history, if, jobs, kill, let, local, logout, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, type, typeset, ulimit, umask, unalias, unset, until, wait, while

Следующее будет работать:

echo "Hello, world!'

cd /opt

printf '%s\n' /home/user/*

exit
2
28.04.2021, 23:16

Теги

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