Mengapa perintah echo tidak berfungsi dengan baik pada perintah?


14

saat saya mengetik:

at now + 1 min
at>play /usr/share/sounds/startrek.wav
at>ctrl+d

itu bekerja, jadi setelah satu menit sebenarnya ada suara yang diputar.

tapi, saat saya mengetik:

at now + 1 min
at>echo "Teresa the green vegetable lover"
at>ctrl+d

Saya tidak mendapat respons kesalahan dari shell, tetapi setelah 1 menit juga tidak ada teks yang ditampilkan.

Jawaban:


23

Perintah yang dijalankan pada saat tidak dijalankan di terminal tempat mereka terdaftar. Ini tidak masuk akal secara umum: terminal mungkin tidak ada lagi, atau mungkin digunakan oleh pengguna yang berbeda. Anda bahkan mungkin sudah logout saat perintah dijalankan.

Output dari perintah at dikirimkan kepada Anda melalui email. Itu adalah email Unix lokal, bukan akun POP atau IMAP eksternal apa pun yang mungkin Anda atur di beberapa program email. Jika email lokal Anda tidak diatur, output dari perintah hilang. Jika email lokal Anda belum diatur, panduan ini dapat membantu Anda.

Jika Anda ingin perintah at berinteraksi dengan terminal Anda, Anda perlu menggunakan pengalihan eksplisit. Sebagai contoh:

echo "echo hello >$TTY" | at now + 1 min

Perhatikan bahwa dalam cuplikan ini, variabel TTYdiperluas oleh shell, jadi inputnya atadalah sesuatu seperti echo hello >/dev/pts/42.

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.