Насколько я знаю, единственный способ работать, это путем активации auditd в системе. этим путем это зарегистрирует доступ ко всем файлам, и Вы можете grep файлы журналов.
Будьте осторожны, поскольку вход будет "тяжел".
Можно выполнить команды в Сценарий, если те команды доступны в системе.
В Вашем случае verify
команда недоступна. Следовательно ошибка.
Или установите соответствующий пакет ИЛИ запишите программу/сценарий/функцию по имени verify
Сообщение об ошибке на форме 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
# ...
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 ""
Это работает отлично...
echo $non_explicitly_inited_var
просто ни до чего не расширяется и read foo
считает что-то в переменную foo
используется ли это прежде или нет.
–
19.12.2013, 12:55