変数補間なしで一重引用符と二重引用符を含むbashコマンド引数を引用する最も簡単な方法は何ですか?
Rubyでは、%{}、%[]などを使用して文字列を引用できます。その場合、一重引用符と二重引用符は文字として扱われます。
私の質問はここでは本当に完全ではありませんでした:さらなる説明です:
私がそれを求めている理由は、私がコマンドラインでrubyとperlのコードを実行することが多いからです。これらの言語は広範囲に一重引用符と二重引用符、および$ 1 $_などのグローバル変数を使用しているため、bashとの競合が発生します。
例:
ls -lat | ruby -p -e '$_ =~ /(\S+)\s+(\S+)\s+(\S+)/; $_ = "'\''" + ($3 || "") + "'\''" + "\n"'
私はルビーの%引用符に似たものを探していました:
ls -lat | ruby -p -e %{$_ =~ /(\S+)\s+(\S+)\s+(\S+)/; $_ = "'" + ($3 || "") + "'" + "\n"}