Строка
ret_value= `…`
имеет странное поведение. Сначала он выполняет команду внутри обратных кавычек. Затем вывод этой команды разбивается на слова, и первое слово используется как команда для выполнения. Если было хотя бы одно слово, оно было бы выполнено как команда (с другими словами в качестве параметров) с переменной среды ret_value
, установленной на пустую строку только на время действия этой команды. Но поскольку результат команды в обратных кавычках оказывается пустым, вместо этого происходит то, что строка является присваиванием: она устанавливает переменную оболочки ret_value
в пустую строку.
Вы, вероятно, хотели написать
ret_value=`…`
без пробела после знака равенства. Это установит ret_value
в вывод команды в обратных кавычках - вот что означают обратные кавычки. Помните, что в оболочке пробелы имеют значение, и, в частности, у вас не может быть пробелов внутри присваивания.
Если вы хотите получить возвращаемое значение команды, запустите эту команду (с ее выводом куда угодно), а затем прочтите содержимое специальной переменной $?
. Переменная $?
содержит статус предыдущей выполненной команды.
/usr/bin/rsync -azv -p /home/zaman x11server:/home/zamanr &> rsyncjob/output."$datetime"
echo $?
Вы можете захотеть или даже захотеть сохранить $?
в другую переменную, поскольку она изменится, как только будет выполнена еще одна команда.
/usr/bin/rsync -azv -p /home/zaman x11server:/home/zamanr &> rsyncjob/output."$datetime"
ret_value=$?
if [ $ret_value -eq 0 ]; then
echo "Success"
else
echo "Failure, rsync return status $ret_value"
fi
exit $ret_value
Драйверы IIRC загружаются только в том случае, если они необходимы для оборудования. Ваш журнал Xorg показывает, что ваш X настроен на предпочтение драйвера modesetting
(, который работает с оборудованием Intel через модуль ядра ), и этот драйвер загружается нормально. Таким образом, нет необходимости в драйвере intel
(, и он в любом случае не будет работать, если драйвер modesetting
активен в то же время ).