Linuxホーム領域でファイルを作成する:この[複製]に触れることはできません。

Linuxホーム領域でファイルを作成する:この[複製]に触れることはできません。

私のホーム領域にまだ存在していないファイルにテキストを書きたいです。生成するファイル名を変数に保存しておきました。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"

関連情報