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

Насколько я знаю, единственный способ работать, это путем активации auditd в системе. этим путем это зарегистрирует доступ ко всем файлам, и Вы можете grep файлы журналов.

Будьте осторожны, поскольку вход будет "тяжел".

1
19.12.2013, 10:32
3 ответа

Можно выполнить команды в Сценарий, если те команды доступны в системе.

В Вашем случае verify команда недоступна. Следовательно ошибка.

Или установите соответствующий пакет ИЛИ запишите программу/сценарий/функцию по имени verify

1
27.01.2020, 23:53

Сообщение об ошибке на форме x: command not found происходит если x команда не установлена или найдена в Вашей системе. Но там настоящая проблема здесь состоит в том, что Вы, кажется, путаете функцию verify с read встроенная оболочка. Рассмотрение его страницы справочника, необходимо видеть, что оно не делает то, что Вы ожидаете, что это сделает: это - инструмент для проверки сертификатов.

Использовать read -p поскольку Вы уже сделали в другой части сценария для запроса ответ. Вы могли сократиться, Ваш сценарий путем вставления электронной почты, отправляющей, отделяются if блок:

# ...   

read -ep "Do you want to send Email? " alert
if [[ $alert =~ [Yy] ]]; then
    read -ep "Enter Email ID: " addr
    if (( ${#addr} )); then 
        echo "Sending Email"
        mail -s "software INSTALLATION MAIL ALERT" $addr <<< "message1"
    fi
fi

# ...
0
27.01.2020, 23:53

VerAns, Y/N никогда не читается, код ниже помогает на этом. Проверьте, что Функция не находится в Вашей библиотеке, необходимо записать собственный, как SHW сказала,

    #!/bin/bash

#######################################
# Independent Variables and  Properties Here
#######################################
PL_EMAIL_ALERT=""
VerAns=""
#######################################
# User to get Email Alert
#######################################
echo "This will help user to get an email of an installation status."
#verify "Do want to send Email"
read -e -p "Y/N" VerAns
if [ "$VerAns" = "y" ]
then
    read -e -p "Enter Email ID: " PL_EMAIL_ALERT
fi
#######################################
# Sending Email Alert
#######################################
echo "Sending Mail"
if [ ${#PL_EMAIL_ALERT} -ne 0 ]
then
    mail -s "software INSTALLATION MAIL ALERT" $PL_EMAIL_ALERT <<< "message1"
fi
echo ""
echo "Final step"
echo ""

Это работает отлично...

0
27.01.2020, 23:53
  • 1
    В Bash нет никакой потребности инициализировать переменные прежде, чем присвоить им: echo $non_explicitly_inited_var просто ни до чего не расширяется и read foo считает что-то в переменную foo используется ли это прежде или нет. –   19.12.2013, 12:55

Теги

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