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?

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).


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.