Команды Bash не найдены

Я думаю, что это часть bash руководство, которое вы ищете (POSIX имеет аналогичную формулировку того же эффекта ):

Если не выполняется раскрытие подстроки, используйте формы, задокументированные ниже (например, : - ), bash проверяет параметр, который не задан или равен нулю. Если пропустить двоеточие, выполняется проверка только для параметра, который равен отключено.

Разница между неустановленной переменной и переменной с нулевым значением состоит в том, что неустановленной переменной даже не существует.

Итак,

#!/bin/bash

bash -c 'echo "$#"; printf "%s\n" "$@"' -- "${DOMAIN_SUFFIX=.example.com}"

Это установит DOMAIN_SUFFIX на .example.com , если DOMAIN_SUFFIX не задан, но не, если он равен нулю (пустая строка ).

Используемая здесь команда просто создаст новый процесс bash , который напечатает номер переданного аргумента командной строки, за которым следуют все позиционные параметры, по одному в каждой строке:

bash-4.4$ bash script
1
.example.com
bash-4.4$ DOMAIN_SUFFIX=.hello.world bash script
1
.hello.world
bash-4.4$ DOMAIN_SUFFIX= bash script
1

bash-4.4$

В последнем примере , DOMAIN_SUFFIX = идентичен DOMAIN_SUFFIX = "" .

1
01.05.2016, 11:25
3 ответа

Похоже, что некоторые из ваших команд были изменены / удалены вне yum .

Вам необходимо переустановить недостающие команды следующим образом:

yum reinstall which

Вы можете указать несколько пакетов по мере их идентификации:

yum reinstall which clear

Если вы обнаружите, что было удалено много команд, возможно, будет проще переустановить всю вашу систему.

2
27.01.2020, 23:35

Я бы попробовал поискать недостающую команду по ее имени.

find / -name which

Если предположить, что 'which' и есть недостающая команда, то вы можете добавить ее в PATH.

0
27.01.2020, 23:35
yum install ncurses

или

dnf install ncurses

тогда должна быть доступна команда очистки

1
04.10.2020, 02:13

Теги

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