Я сделал сценарий, чтобы проверить, присутствуют ли sdb или диски sdc. но даже когда я имею, оба или один из них представляют сценарий, завершается. что не так с моим сценарием?
HDD1="sdb"
HDD2="sdc"
echo "Checking if necessary hard drives for NFS are present:"
function checkdrive
{
DRIVE_CHK1=$(lsblk -o NAME | grep -w $1)
DRIVE_CHK2=$(lsblk -o NAME | grep -w $2)
if [ "$DRIVE_CHK1" == "$1" ]; then
echo Found $1 drive.
drive=$1
elif [ "$DRIVE_CHK2" == "$2" ]; then
echo Found $2 drive.
drive=$2
else
echo ERROR! Could not locate hard drives.
echo Terminating script.
exit
fi
}
checkdrive $HDD1 $HDD2
Вы запускаете скрипт без хижины. Если у Вас нет хижины, необходимо выполнить ее с предыдущим:
/bin/bash <script>
Неважно, если сценарий является исполняемым файлом или нет...
Когда я запускаю скрипт в своей системе с командой выше, это хорошо работает.
Попытайтесь "отладить" свой сценарий с набором-x, просто поместите его в свой сценарий как первая команда (можно также установить это в консоли, посмотрите).
[simmel]@[mars]$ set -x
[simmel]@[mars]$ echo Hello
+ echo Hello
Hello
Где + знак показывает команду, которая выполнялась, и строка после этого является выводом этой команды.
Проверьте свой вывод шаг за шагом и посмотрите, возвращаетесь ли Вы, что Ваш поиск.