일부 환경 변수를 설정하고 웹 서버를 시작하기 위해 Bash 스크립트를 작성했습니다. 어떤 도움을 주시면 더 좋구요Bash 스크립트 유효성 검사/모범 사례
1 #!/bin/bash
2
3 # Allow checking that variables don't get set to empty strings.
4 set -o nounset
5
6 readonly qi_redmine_base="/srv/redmine"
7
8 if test "${qi_redmine_base}" -eq "notset"
9 then
10 »···echo
11 fi
12
13 readonly qi_redmine_etc="/etc/redmine/default"
14
15 if test "${qi_redmine_etc}" -eq "notset"
16 then
17 »···echo
18 fi
19
20
21 readonly RAILS_ETC="${qi_redmine_etc}"
22 export RAILS_ETC
23
24 readonly RAILS_LOG="${qi_redmine_base}/log"
25 export RAILS_LOG
26
27 readonly RAILS_VAR="${qi_redmine_base}"
28 export RAILS_VAR
29
30 readonly RAILS_CACHE="${qi_redmine_base}/tmp"
31 export RAILS_CACHE
32
33 export RAILS_ENV=production
34 export X_DEBIAN_SITEID=default
35
36
37 ruby /usr/share/redmine/script/server webrick -e production
38 if [$? -ne 0]; then
39 echo "Server failed to start"
40 fi
: 가능으로 실패 할 증거가 있는지 확인하는 스크립트를 추가하는 좋은 유효성 검사 무엇입니까! 그렉
환경 변수를 통해 참조하는 디렉토리가 실제로 존재하는지 확인한 다음 (필요하지 않은 경우 디렉토리를 만들고 필요에 따라 디렉토리를 만드는 것이 의미가 있음) 확인하는 것으로 시작할 수 있습니다. –
'-eq'는 숫자 비교를위한 것입니다. 문자열 평등에'='를 사용하십시오. 어디서나'readonly'를 쓰는 대신에'export var = value'를 쓸 수 있습니다. 라인 40에서'fi'가 누락되었습니다. –
38 행에'['와']'다음에 공백이 있어야합니다. 그러나 당신은'할 수있다! 루비 ...'대신'$? '를 사용합니다. 또한이 질문은 코드 검토에 더 적합 할 수 있습니다. –