2016-10-14 3 views
2

다른 명령의 인수로 상대 경로를 사용하려고합니다. 문자열이기 때문에 경로의 자동 확장이 작동하지 않는 것 같습니다. 파일을 해석 할 수 있도록 문자열 변수를 cat 명령에 어떻게 전달할 수 있습니까? 따옴표 안에 넣어 또는 탈출 할 때명령 인수로 사용할 때 문자열 파일 경로가 작동하지 않습니다.

PEM="~/.ssh/my.pem"; cat $PEM 
// cat: ~/.ssh/my.pem: No such file or directory 

PEM=~/.ssh/my.pem; cat $PEM 
// gives key 

답변

4

틸드는 (~) 확장은 셸에 의해 수행되지 않습니다.

PEM="$HOME/.ssh/my.pem"; cat "$PEM" 
대신 당신은 또한 HOME 환경 변수를 활용할 수

PEM=~"/.ssh/my.pem"; cat "$PEM" 

: 당신이 ~ 외부 따옴표를 넣을 때

확장이 제대로 발생

관련 문제