Gabungkan dua hasil perintah ke satu baris saat mengarahkan ulang stdout

8

Dalam skrip cron saya ingin mencatat suhu CPU dalam format

[datetime] temp

menggunakan datedan acpi -t. Bagaimana saya bisa mengarahkan ( >>) kedua perintah ini ke satu baris dalam file log?

David Thorisson
sumber

Jawaban:

11

Coba lakukan saja:

echo $(date) $(acpi -t) >> your_log_file

Anda mungkin ingin menentukan format tanggal yang kompak untuk membuat file log Anda lebih mudah diurai dan tidak tergantung pada pengaturan lingkungan / lokal (seperti $(date +"%Y%m%d %H%M%S")misalnya).

Tikar
sumber
4

nah mungkin pada sistem yang lebih lama (solaris8 fe ^^) tanpa bash:

x=`date '+%Y%m%d %H%M%S'`; y=`acpi -t`; echo "$x $y" >>your_log_file
serigala
sumber
1
Bahkan Solaris 8 mengerti $(…), itu adalah POSIX-compliant. Tetapi Anda harus menggunakannya /usr/xpg4/bin/shsebagai gantinya /bin/sh, Solaris 8 /bin/shmasih merupakan cangkang Bourne.
Gilles 'SO- stop being evil'
Aaah, tidak pernah menggunakan / usr / xpg4 / bin / sh, kami akan menyelamatkan beberapa upaya hari-hari itu hanya dengan menggunakan shell Bourne.
serigala
Seperti ini ...
mikiemorales