Pertanyaan ini sudah memiliki jawaban di sini :Mengalihkan stdout ke file yang izin menulisnya tidak Anda miliki
(7 jawaban)
Ditutup 6 tahun yang lalu.
Linux
(7 jawaban)
Ditutup 6 tahun yang lalu.
Mengapa saya mendapatkan
-bash: test: Permission denied
saat aku berlari
sudo echo "xyz" > test
Izin direktori adalah:
drwxr-xr-x 3 root root 4096 2014-08-05 16:26
Saya tidak punya masalah membuat file di direktori menggunakan sudo
. Tapi kenapa saya tidak bisa sudo bergema ke dalamnya?
Jawaban yang Diterima:
Ini terjadi karena Anda hanya menjalankan echo
perintah sebagai root. Pengalihan output ditangani oleh shell (non-root) Anda. Untuk menghindarinya, jangan gunakan pengalihan shell dan gunakan perintah aktual untuk menangani penulisan:tee
. Apa yang ingin Anda lakukan dapat dilakukan sebagai berikut:
echo "xyz" | sudo tee test > /dev/null
(jika Anda tidak mengarahkan output, tee
akan menampilkan xyz
untuk stdout juga)