bash_profile이 파일 호출 후 중지됨

bash_profile이 파일 호출 후 중지됨

.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

Bash 문서에서별명:

거의 모든 목적에서 셸 함수는 별칭보다 우수합니다.

websitecompile () { do_cron && do_config; }

답변3

do_cron() 내에서 실행된 각 명령의 종료 상태를 확인하고 제대로 실행되면 올바른 함수 상태를 반환합니다. 일부 명령이 예상치 못한 상태로 종료되어 do_cron && do_config 조건이 실패하는 것 같습니다.

관련 정보