Я прочитал ответ на этот вопрос из этой ссылки в Stackoverflow. .ком. Но я настолько новичок в написании сценариев оболочки, что сделал что-то не так. Ниже приведены мои сценарии:
тестовый скрипт:
#!/bin/csh -f
pid=$(ps -opid= -C csh testscript1)
while [ -d /proc/$pid ] ; do
sleep 1
done && csh testscript2
exit
тестовый скрипт1:
#!/bin/csh -f
/usr/bin/firefox
exit
тестовый скрипт2:
#!/bin/csh -f
echo Done
exit
Цель состоит в том, чтобы testscript сначала вызывал testscript1; как только testscript1 уже завершится (что означает, что firefox, вызванный в script1, закрыт), testscript вызовет testscript2. Однако я получил этот результат после запуска testscript:
$ csh testscript
Illegal variable name.
Пожалуйста, помогите мне с этой проблемой. Спасибо вперед.