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/
물론 뒷부분은 실제 디렉터리로 대체된다.