最初の問題:
コマンドライン引数を受け取ってファイルに出力する簡単なプログラムを書いたとします。ユーザーが入力した場合
writetofile Hello!0\nw%orl\t!@#y
bash は次のように応答します
!0: イベントが見つかりません。
ユーザーが引用符 ('') やエスケープ文字 ('\') を使用するなどのことを知らなくても、bash がコマンドとして理解するのではなく、どのように処理すればよいでしょうか?
2番目の問題:
これらの引数を取得したら、それらを一連の文字ではなく特殊文字として解釈するにはどうすればよいでしょうか。(つまり、\t は '\''t' ではなくタブです)
つまり、プログラムがこれをファイルに書き込むようにする方法は次のとおりです。
Hello!0
w%orl !@#y
ではない
Hello!0\n w%orl\t!@#y