この変数の動作を理解していません。
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'
チルダの周りに引用符を配置すると、シェルがチルダを処理するために拡張するのを防ぎます。文字通り。