私が走るとき
echo `man ls` > tem.txt
テキストファイルからフォーマットされていない出力を取得しています。つまり、改行なしで文だけが続く出力を意味します。フォーマットされた出力を取得するには?
たとえば、フォーマットされていない出力は次のようになります。
LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls
[OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the
current directory by default). Sort entries alphabetically if none of -
cftuvSUX nor --sort is speci‐ fied. Mandatory arguments to long options are
mandatory for short options too. -a.................
答え1
man
プロセス置換によって出力を強制する必要はありません。リダイレクトがうまく機能します。
man ls > tem.txt
このようにプロセス置換を使用している場合でも、引用符を使用する必要があります。それ以外の場合、出力はシェルで分割+ワイルドカードとして表示されます。
echo "$(man ls)" > tem.txt