私のbashスクリプトには、値が次のような変数があります。
~/a/b/c
展開されていないチルダであることに注意してください。この変数 ($VAR と呼びます) で ls -lt を実行すると、そのようなディレクトリは取得されません。この変数を実行せずにbashに解釈/展開させたい。つまり、bash で eval を実行するが、評価されたコマンドは実行しないようにする必要があります。これはbashで可能ですか?
これを展開せずにスクリプトに渡すにはどうすればよいですか? 引数を二重引用符で囲んで渡しました。
このコマンドを試して、私が何を意味するかを確認してください。
ls -lt "~"
これはまさに私がいる状況です。チルダを展開したいです。言い換えれば、これら 2 つのコマンドを同一にするために、magic を何に置き換えればよいでしょうか。
ls -lt ~/abc/def/ghi
と
ls -lt $(magic "~/abc/def/ghi")
~/abc/def/ghi が存在する場合と存在しない場合があることに注意してください。