이 변수의 동작을 이해하지 못합니다.
SSH_CONFIG_FILE="~/.ssh/config"
echo $SSH_CONFIG_FILE
ls -l $SSH_CONFIG_FILE
ls -l ~/.ssh/config
출력은 다음과 같습니다.
~/.ssh/config
ls: cannot access '~/.ssh/config': No such file or directory
-rw------- 1 pm domain^users 1229 Sep 19 10:52 /home/pm/.ssh/config
echo
$ 기호를 사용하면 작동하지만 작동 하지 않는 이유는 무엇 입니까 ls
?
변수를 "", '', ``, {}, []로 둘러싸려고 했지만 개선되지 않았습니다.
답변1
~
쉘을 집으로 확장하려면 물결표 주위에 따옴표를 넣지 마십시오.
SSH_CONFIG_FILE=~/.ssh/config
공간이 있다면 그렇게 하세요.
var=~/'foo bar/file'
물결표 주위에 따옴표를 배치하면 쉘이 물결표를 처리하기 위해 확장하는 것을 방지할 수 있습니다.문자 그대로.