シェルスクリプト変数のホームディレクトリ展開

More than 3 years have passed since last update.

wgetでダウンロードシェル書こうとしてホームディレクトリの展開でハマった。

環境はmac。

homebrewでwgetインストール。


var.sh

#!/bin/sh

# substitution
A=~/.get
B="~/.get"
C='~/.get'
D="$HOME/.get"
E='$HOME/.get'

# result
echo "A="$A
echo "B="$B
echo "C="$C
echo "D="$D
echo "E="$E


$ sh var.sh 

A=/Users/user_name/.get
B=~/.get
C=~/.get
D=/Users/user_name/.get
E=$HOME/.get

最初Cパターンやっててハマって、

Bパターン試して、Dパターン試して、Aパターンに落ち着いた感じです。