맥에서 스크립트 실행시 profile에 입력한 alias 문제
글쓴이: thinga3 / 작성시간: 화, 2017/09/12 - 2:04오전
제가 리눅스(centos 6.5)와 맥(씨에라)를 왔다갔다하며 작업을 하고 있는데
date 명령어 문제를 해결하지 못해 올립니다.
맥은 UNIX 기반이라 리눅스에서 사용되는 date와 맥에서 사용되는 date는 그 사용법이 달라
이를 맞춰줄려고 port를 이용해서 coreutils를 설치했습니다.
그리고 홈폴더의 .bash_profile에
alias date='/opt/local/libexec/gnubin/date'
를 추가하였습니다.
그냥 터미널 창에서 직접 date를 입력하면 coreutils의 date가 잘 실행됩니다.
ex)input: date -d '2017-03-01 11:31:54' +"%H:%M:%S"
output: 11:31:54
문제는 script를 사용했을 때인데
간단하게
#!/usr/bash
t=$(date -d '2017-03-01 11:31:54' +"%H:%M:%S")
로 작성해서 실행하면 자꾸 /bin/date가 실행이 되어
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
에러가 발생합니다.
이 문제를 해결할 수 있는 방법 있을까요?
* /etc/paths 수정하지 않았습니다.
Forums:
음..
bashrc 와 bash_profile 의 차이점을 살펴보시면 도움이 될 것 같습니다.
소곤소곤
alias는 sub shell에 전달되지 않습니다.
alias는 sub shell에 전달되지 않습니다. 그러므로 두가지의 방법이 있습니다.
1. .bashrc 를 include 하기
2. script 내에서 path 재정의
보통 script에서는 두번째 방법을 사용하는 것이 좋습니다.
댓글 달기