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.