ubuntuシェルスクリプトで'(シングルコート)の記述の仕方
ちょっと複雑なaliasを.bashrcに書こうとして ' とか"が 複数出てくるコマンドを記述するときの書き方のメモです。
alias bat_his='awk '\''{printf "%s\t%s\t%s\n",strftime("%Y-%m-%d %H:%M:%S", $1),$2,$3}'\'' /var/lib/upower/history-charge-CF*'
上記で、awk '{printf "%s ・・・続く・・・
というaliasを書くとき、
alias bat_his='awk '\''{printf
というように、'\'' という文字が見えています。これは、
以下の文字列を連結している意味になります
'awk '
\'
'{printf ・・・・
つまり最初の ' で前の文字列を一旦終了して、\' を連結して更に ' で次の文字列をつなげる役割をしています。
' は $S などの変数の展開をしないので "(ダブルクォート) で全体をくくるよりも便利です。
引用のalias文は、awkコマンドで使用する'(シングルクォート)の表現のため、2箇所 '\'' が出てきます。