私のホーム領域にまだ存在していないファイルにテキストを書きたいです。生成するファイル名を変数に保存しておきました。echo
一部のテキストにこの変数を使用し、それをファイルにリダイレクトしたいと思います。まずファイルを作成します。しかし、うまくいきません。
$ foo="~/bar"
$ echo "nonsense" > "$foo"
$ bash: ~/bar: No such file or directory
ただし、別のディレクトリを使用すると(そのディレクトリが存在する限り)、うまく機能します。
$ foo="moo/bar"
$ echo "nonsense" > "$foo"
私は少なくとも使用できると思いましたが、touch
それも機能しません。
$ foo="~/bar"
$ touch "$foo"
変数に保存されたファイル名を使用してホーム領域にファイルを生成するために必要な秘密は何ですか?
答え1
$HOME変数を使用してください。
$ foo="$HOME/bar"
$ touch "$foo"