Apabila sudo echo “blah” > /root/blah memberi error permission denied


Kadangkala semasa membuat bash script, kita perlu mengisi sesuatu file dengan perkataan atau ayat. Oleh kerana file itu hanya boleh ditulis oleh superuser, kita pun menjalankan arahan berikut:

sudo echo “blah” > /root/blah

Tetapi kita akan menerima error permission denied bila menjalankan arahan diatas. Kenapa ek?

Jawapannya mudah … sudo hanya boleh digunakan oleh arahan yang pertama sahaja e.g. echo, ianya tidak dibawa oleh redirection untuk menulis kedalam file. Untuk mengatasi masalah diatas kita boleh guna arahan tee seperti berikut:

echo “blah” | sudo tee -a /root/blah

-a bermaksud append ke dalam file dan bukan overwrite data di dalam file.

  1. No comments yet.
(will not be published)