.bash_profile에 실행해야 하는 여러 파일 쓰기 작업을 자동화하는 다음 코드가 있습니다.
# Compile cron jobs for server
do_cron()
{
cd ~/Sites/MAMP/mywebsite/.ebextensions && sed 's/WEBSITE_URL/mywebsite.com/g' ./cron_jobs_sample.txt > ./cron_jobs.txt
}
# Compile config file so that we push to the right server
do_config()
{
cd ~/Sites/MAMP/mywebsite/.elasticbeanstalk/ && echo "[global]
ApplicationName=xxxx
DevToolsEndpoint=xxxx
EnvironmentName=xxxx
Region=xxxx" > ./config
}
# Do compiling
alias websitecompile=do_cron && do_config
나는 간단히 다음과 같이 전화합니다.
$ websitecompile
그것은 내 작업을 실행합니다.
문제는 잘 작동 do_cron
하지만 do_config
작동하지 않는다는 것입니다. 코드를 do_config
먼저 실행하도록 전환하면 둘 다 잘 실행됩니다.
alias websitecompile=do_config && do_cron
그래서 do_cron
뭔가가 프로세스를 죽이는 것 같습니다. 이 명령을 계속 확장하고 싶은데 중지되는 것을 막을 수 있는 방법이 있나요?
저는 Max OS X Mavericks를 사용하고 있습니다.
이 작업을 예상대로 수행하기 위해 무엇을 할 수 있는지에 대한 아이디어가 있습니까?
답변1
스크립트 발췌문에 인용문이 누락되어 있나요? 명령이 다음과 같기 때문입니다.
alias websitecompile=do_cron && do_config
별칭을 websitecompile
으로 변경 do_cron
하고 즉시 실행합니다 do_config
(아니요별칭에 포함합니다.) 당신이 원하는 것은 :
alias websitecompile='do_cron && do_config'
...별칭에 두 명령이 모두 포함됩니다.
답변2
답변3
do_cron() 내에서 실행된 각 명령의 종료 상태를 확인하고 제대로 실행되면 올바른 함수 상태를 반환합니다. 일부 명령이 예상치 못한 상태로 종료되어 do_cron && do_config 조건이 실패하는 것 같습니다.