Ada yes
perintah di unix / linux yang pada dasarnya mencetak tanpa batas y
ke stdout
. Apa gunanya, dan bagaimana ini berguna?
Ada yes
perintah di unix / linux yang pada dasarnya mencetak tanpa batas y
ke stdout
. Apa gunanya, dan bagaimana ini berguna?
Jawaban:
ya dapat digunakan untuk mengirim respons afirmatif (atau negatif; mis. ya n) ke perintah apa pun yang sebaliknya akan memintanya, sehingga menyebabkan perintah berjalan secara non-interaktif.
Perintah yes dalam hubungannya dengan perintah kepala dapat digunakan untuk menghasilkan file volume besar untuk sarana pengujian.
Itu juga dapat digunakan untuk menguji seberapa baik suatu sistem menangani beban tinggi, seperti menggunakan ya menghasilkan penggunaan prosesor 100%, untuk sistem dengan prosesor tunggal (untuk sistem multiprosesor, suatu proses harus dijalankan untuk setiap prosesor). Ini, misalnya, dapat berguna untuk menyelidiki apakah sistem pendinginan suatu sistem akan efektif ketika prosesor berjalan pada 100%.
Pada tahun 2006, perintah yes menerima publisitas sebagai alat untuk menguji apakah MacBook pengguna dipengaruhi oleh Sindrom Shutdown Berselang atau tidak. Dengan menjalankan perintah yes dua kali melalui Terminal di bawah Mac OS X, pengguna dapat memaksimalkan CPU komputer mereka, dan dengan demikian melihat apakah kegagalan itu terkait panas.
via wikipedia: http://en.wikipedia.org/wiki/Yes_(Unix)
yes `yes yes`
Ini mungkin pendapat yang kontroversial, tetapi dalam pandangan saya ini adalah perbaikan yang buruk untuk antarmuka pengguna yang buruk dalam alat baris perintah .
Beberapa alat baris perintah mengajukan pertanyaan kepada pengguna dengan prompt dan tidak memiliki opsi untuk menjalankan non-interaktif; bayangkan misalnya sesuatu seperti
$ frobnicate *
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
...
Karena jawaban untuk pertanyaan diambil dari input standar, perbaikan cepat untuk masalah ini adalah memiliki aplikasi yang mengeluarkan string secara y\n
terus-menerus, dan itulah yang sebenarnya yes
dilakukan. Pipa Unix dapat digunakan untuk mengirim output ini sebagai input ke perintah yang diberikan.
$ yes | frobnicate
Salah satu masalah dengan pendekatan ini adalah yes
tidak memiliki kemungkinan untuk memeriksa pertanyaan yang dijawabnya:
frobnicate file a.txt? (y/n) y
frobnicate file b.txt? (y/n) y
format device /dev/sda1? (y/n) y
frobnicate file c.txt? (y/n) y
Solusi yang lebih baik, ketika tersedia, adalah opsi spesifik untuk menjalankan non-interaktif, seperti rm -f
atau apt-get -y
. Ini memungkinkan pengkodean perilaku yang lebih masuk akal dalam aplikasi.
Baru saja menemukan penggunaan lain untuk itu: suka menghapus hard disk dengan pola yang berbeda dari nol saja (seperti: dd if = / dev / nol = / dev / sdd bs = 1M) dan menggunakan 'ya' untuk itu:
yes UUUUUUUUUUUUU > /dev/sdd
Seorang rekan kerja menggunakan ini dengan cara baru untuk memasukkan kata sandi
yes password | passwd
passwd
akan meminta kata sandi lama terlebih dahulu, jika pengguna tidak melakukan root atau superuser dan tidak akan melanjutkan kecuali kata sandi yang benar dimasukkan. Jadi pengguna adalah root atau password
kata sandi lama juga dan tidak ada yang berubah.
ps
atau top
pada saat yang tepat).