Сценарий запуска не работает, потому что программа не найдена, но работает при загрузке компьютера - PullRequest
0 голосов
/ 10 апреля 2011

Это мой сценарий Bash /etc/init.d/test: все, что он делает, это запускает md5deep в / usr / local / bin, который вычисляет контрольные суммы md5 для каждого файла.

#!/bin/bash
cd /usr/local/bin
md5deep * 2>&1 | tee /exe/zlog2.txt

Когдазапустив его на моем компьютере, это вывод:

root@beagleboard:~# /etc/init.d/test
aed52c61934a5b6c113d535e41bd7dd1  /usr/local/bin/gfcombine
149d9c8e711d772daf7bbb6c40cf630a  /usr/local/bin/gfsplit
08ed28c2febb9e21de504b206583b75d  /usr/local/bin/hashdeep
1575f479acab5fe3bee0046cc12d86e1  /usr/local/bin/md5deep
69109d35be14662c090316e2656dd546  /usr/local/bin/sha1deep
82bd68ce9658038d80ca62e4dec74ce9  /usr/local/bin/sha256deep
ee475a6c7d2d75016d5cb5b5a1df9e1b  /usr/local/bin/stunnel
2aca377e96b82a4f944d3224656b4743  /usr/local/bin/stunnel3
1118f6115880cb106cfb8928cab89241  /usr/local/bin/tigerdeep
405becadbfff425c193c363da812443b  /usr/local/bin/whirlpooldeep

Я добавил этот скрипт в автозагрузку через 1) crontab, 2) update-rc.d test start 60 2 3 4 5.и 3) update-rc.d test start 99 2 3 4 5.

Вывод этого файла журнала выглядит следующим образом:

root@beagleboard:/usr/local/bin# cat /exe/zlog2.txt 
/exe/test: line 3: md5deep: command not found

Я выполнилв проблемы раньше, где команды не были найдены, потому что они не были загружены, но я попытался запустить его после всего остального.Кто-нибудь знает, как это исправить?

Спасибо!

-Eddie

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Вставьте source /etc/profile в ваш скрипт после строки #!/bin/bash - это настроит ваш путь так, чтобы можно было найти md5deep.

0 голосов
/ 10 апреля 2011

Вы можете изменить скрипт для вызова / usr / local / bin / md5deep вместо просто md5deep.Тогда вам не нужно ничего загружать или изменять путь.

...