複数のシェルコマンドを実行するためにEOFコマンドを同じ行に入れる方法

複数のシェルコマンドを実行するためにEOFコマンドを同じ行に入れる方法

cronジョブで次のコマンド(これと同様)を実行したいと思います。 Cronジョブはこのコマンドパターンを許可しません。また、同じ行のシェルで実行することはできません。

cat > file << EOF
first line
second line
third line
EOF

1行にできる方法がある場合は教えてください。

私も成功せずに各行の終わりに改行しようとしました。

ベストアンサー1

これがファイルにテキストを置く唯一の方法ではありません。次のことができます。

$ printf '%s\n' 'first line' 'second line' 'third line' > file

その後、次のものがfile含まれます。

first line
second line
third line

コマンドに引数として提供できる文字列の数と長さには制限があります。これらの制限が大きい傾向があるLinuxでは問題になりませんが、他のUnixシステムや組み込み環境ではあまり寛容ではありません。

おすすめ記事