bashスクリプトに引用符と二重引用符パラメータを渡す

bashスクリプトに引用符と二重引用符パラメータを渡す

現在私は以下を持っています:

#!/bin/bash
screen -p 'ScreenName' -x eval 'stuff '"'"$@"'"'\015'
echo eval 'stuff '"'"$@"'"'\015'

しかし、スクリプトを呼び出すと次のようになります。

# script.sh asd "asd" 'asd'

私の主張は次のとおりです。自閉症スペクトラム障害 自閉症スペクトラム障害

私は出力を取得します:

eval stuff 'asd asd asd'\015

私は一つを除いて:自閉スペクトル障害「自閉スペクトル障害」「自閉スペクトル障害」

すべてのパラメータ行をすべて引用符で渡すようにスクリプトを変更するにはどうすればよいですか?

ベストアンサー1

シェルはスクリプトに引用符を渡しません。引用符を渡すには、バックスラッシュでエスケープしてください。

# ./script.sh asd \"asd\" \'asd\'

おすすめ記事