2016-08-09 2 views
0

나는 다음과 같은 스크립트가 : 오류의배쉬 스크립트 오류는 스크립트 경로를 실행하는

./scripts/install2.sh: line 84: /home/pcmagas/Kwdikas/Docker/ellakcy/scripts/../start.sh: Permission denied 
./scripts/install2.sh: line 87: /home/pcmagas/Kwdikas/Docker/ellakcy/scripts/../stop.sh: Permission denied 
./scripts/install2.sh: line 89: ${STARTUP_SCRIPT_PATH}: ambiguous redirect 
chmod: missing operand after 'u+x' 
Try 'chmod --help' for more information. 

Startup script generated 
./scripts/install2.sh: line 94: ${STOP_SCRIPT_PATH}: ambiguous redirect 
chmod: missing operand after 'u+x' 
Try 'chmod --help' for more information. 

소스는 다음과 같습니다 https://gist.github.com/pc-magas/37ec5e668c12017eb32aa308a0cb8f35

그리고 실행에 내가 이러한 오류 메시지가 스크립트의이 라인 :

touch "${SCRIPT_PATH}/start.sh" 
STARTUP_SCRIPT_PATH= "${SCRIPT_PATH}/start.sh" 

touch "${SCRIPT_PATH}/stop.sh" 
STOP_SCRIPT_PATH= "${SCRIPT_PATH}/stop.sh" 

내가 원하는 것은/수행하려고는 몇 가지 매개 변수를 제공하여 내 스크립트 인을 시작하기 위해 스크립트를 자동으로 생성 docker 컨테이너 서비스를 중지하십시오.

그러나 여하튼 계획은 지금 나에게 역효과를 낸다.

도움이 필요합니까?

답변

1

스크립트 파일을 쓸 수있는 권한을 얻으려면 sudo이 필요하며 변수 이름과 값 사이에 공백이 있어야합니다.

sudo touch "${SCRIPT_PATH}/start.sh" 
STARTUP_SCRIPT_PATH="${SCRIPT_PATH}/start.sh" # Note no spaces ..PATH="${.. 

sudo touch "${SCRIPT_PATH}/stop.sh" 
STOP_SCRIPT_PATH="${SCRIPT_PATH}/stop.sh" # Again here. 
+0

sudo없이 작업 한 경우 : 표지판 주위에 공백이 없어야합니다. 우주 문제였습니다. (가끔은 php 나 js 같은 언어로 개발할 때 bash 스크립트에서 공간을 너무 많이 사용하지 않는다는 사실을 잊어 버립니다.) –

+0

@DimitriosDesyllas Bash는 모든 불행의 근원입니다 –