VPSでリモートでsassファイルをコンパイルしたいので、次のinit.dスクリプトを作成しました。
#!/bin/sh
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides: sass
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Script used to compile sass
# Description: Script used to copile sass and scss files
# directly, running from boot
### END INIT INFO
# Author: Karol K
DESC="Running sass compiler"
DAEMON=/media/start_sass.sh
これはstart_sass.sh:
#!/bin/bash
sass --watch /var/www:/var/www --style compressed &
残念ながら動作しません。私が確認したときサービスステータス次のメッセージが表示されます。
root@Serwer:~# service sass status -l
● sass.service - LSB: Script used to compile sass
Loaded: loaded (/etc/init.d/sass)
Active: active (exited) since Thu 2016-08-11 12:14:50 CEST; 2s ago
Process: 9777 ExecStop=/etc/init.d/sass stop (code=exited, status=0/SUCCESS)
Process: 9785 ExecStart=/etc/init.d/sass start (code=exited, status=0/SUCCESS)
Aug 11 12:14:50 Serwer sass[9785]: /media/start_sass.sh: line 2: sass: command not found
システムはDebian 8 x64です。
答え1
PATHの問題かもしれません。
スクリプトでフルパス(例:)を試してみてください/usr/bin/sass
。
sassバイナリの場所を見つけるために使用されますwhich sass
。
スクリプトで$ PATH変数を設定すると、この問題を解決することもできます。 sass --watch 行の前に次の行を追加します。
export PATH=$PATH:/directory/where/sass/is_located/
もちろん、後半は実際のディレクトリに置き換えられます。