コマンドの置き換え:実行可能コンテンツを含むcat

コマンドの置き換え:実行可能コンテンツを含むcat

というファイルがありますが、test内容は次のとおりです。

ubuntu@regina:~$ cat test
** test **

コマンドラインからこのファイルをキャプチャしても問題はありませんが、コマンド置換を使用すると理解できますが、望ましくない結果が表示されます。

ubuntu@regina:~$ A=$(cat test)
ubuntu@regina:~$ echo $A
deployment detect.sh htpasswd.py logs test uwsgi-1.0.4 uwsgi-1.0.4.tar.gz test deployment        detect.sh htpasswd.py logs test uwsgi-1.0.4 uwsgi-1.0.4.tar.gz

testデフォルトでは、ファイルにアスタリスクがあるため、echo *ファイルの内容だけでなくディレクトリの内容も実行して一覧表示します。

この結果を提供しないコマンド代替構文に渡すことができる引数はありますか?それとも、この目的に使用する必要がある別のイディオムはありますか?

ベストアンサー1

あなたは何をしたいですかecho "$A"?変数を引用符で囲んで文字列にします。

例:

[root@talara test]# A=$(<test)
[root@talara test]# echo $A
FILE1 ham test test FILE1 ham test
[root@talara test]# echo "$A"
** test **

おすすめ記事