我有這樣的/etc/init.d/unicorn-bash:CMD:命令未找到
#!/bin/bash
# /etc/init.d/unicorn
# ### BEGIN INIT INFO
# chkconfig: 2345 95 016
# processname: unicorn
# dscription: Stop/start unicorn
### END INIT INFO
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cmd() {
cd /vagrant
unicorn -p 3000 -D
}
# Start the service
start() {
su - vagrant -c cmd
}
### main logiC###
case "$1" in
start)
start
;;
*)
echo $"Usage: $0 {start}"
exit 1
esac
exit 0
我想開始我的本地文件夾的軌道麒麟。我覺得這個命令應該工作:
su - vagrant -c cmd
並不能找出原因。
你爲什麼導出'PATH'而沒有引用'$ PATH'?你爲什麼用'su'來運行命令?使用'sudo'。或者在腳本啓動時使用'sudo -s',以便成爲root用戶。或者更好的是,總是以root身份運行腳本。 –
@AlexejMagura這是一個init腳本。它始終以root身份運行。他使用su是因爲他想要命令以非root用戶身份運行。 –