stdin
拡張する前に、またはシェルが作業を実行する前に生のテキストを読む方法はありますか?ユーザーが文字列を入力して印刷するスクリプトを実行するとします。どのように次の動作を取得できますか?
$ sh test.sh
Please enter a string:
***<><><||&&*&$PATH
You entered:
***<><><||&&*&$PATH
''
ユーザーがそうしなくても、暗黙的にすべてのメタ文字にテキストを囲むか、すべてのメタ文字をエスケープする方法はありますか?
ベストアンサー1
この試み:
$ read -r -p 'Please enter a string >>> ' var
$ printf '%q\n' "$var"
\*\*\*\<\>\<\>\<\|\|\&\&\*\&\$PATH