выскочка: эхо в скрипте

в моем сценарии выскочки (Ubuntu 12.04.2) у меня есть следующее:

exec touch /tmp/000
exec echo "ds1307 0x68" >  /sys/class/i2c-dev/i2c-3/device/new_device
exec touch /tmp/111
exec hwclock --rtc=/dev/rtc1 --hctosys  
exec touch /tmp/222

Проблема в том, что /tmp/000 есть, но других файлов в /tmp нет. Так что кажется, что после эха скрипт останавливается.

Как переписать строку с эхом, чтобы скрипт не останавливался?

Спасибо!


person RobertK    schedule 23.09.2014    source источник


Ответы (2)


Команда exec заменяет текущий процесс, в вашем случае, командой touch в строке 1. После этого больше нет оболочки для возврата.

Ответ: объяснение команды exec.

Попробуй свой скрипт без экзешников.

person Stefan Friedrich    schedule 23.09.2014

Замените все exec на следующие:

script
  touch /tmp/000
  echo "ds1307 0x68" >  /sys/class/i2c-dev/i2c-3/device/new_device
  touch /tmp/111
  hwclock --rtc=/dev/rtc1 --hctosys  
  touch /tmp/222
end script
person CameronNemo    schedule 23.09.2014