У меня есть небольшой скрипт bash, который принимает пару входов от терминала, запускает браузер и запускает запрос к веб-сайту в браузере. Когда он запускается в системе без сервера отображения, браузер, конечно, не запускается, и я хочу обнаружить его в скрипте. Однако у меня возникают проблемы с получением кода выхода из этой строки - firefox http://www.411.com/name/$fname'-'$lname &> /dev/null &
. Я видел похожие вопросы здесь, на SO, но не могу понять решение, поскольку оно применимо ко мне.Получение кода выхода из процесса, отправленного в фоновый режим в сценарии bash
#!/bin/bash
clear
echo
echo
while [ -z $fname ]; do
echo -n "First Name: "
read fname
done
echo
echo -n "Last Name: "
read lname
echo -n "Starting recon on $fname $lname. "
read -p "Press <enter> to continue..."
echo -n "Launching Firefox ...Please wait..."
firefox http://www.411.com/name/$fname'-'$lname &> /dev/null &
status=$?
if [ $status -eq 0 ]; then
echo "Done"
fi
Удалить '&', чтобы получить код выхода firefox в '$?'. – Cyrus
'Запуск Firefox ... Пожалуйста, подождите ... (процесс: 28086): GLib-ВАЖНЫЙ **: g_slice_set_config: утверждение 'sys_page_size == 0' не удалось Ошибка: отображение не указано ./example2.sh: линия 19: [: -eq: ожидаемый операционный оператор ' – user1720897