GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan "izin Ditolak" Saat Mengarahkan Output Sudo Echo "xyz" Ke File??

Pertanyaan ini sudah memiliki jawaban di sini :Mengalihkan stdout ke file yang izin menulisnya tidak Anda miliki

(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)


Linux
  1. Echo To File Descriptor Menimpa File?

  2. 3 trik untuk mendapatkan beberapa perintah output di baris yang sama

  3. menampilkan kolom ke-2 dari sebuah file

  1. Cara mendapatkan ukuran file tar.gz dalam (MB) dengan python

  2. Bagaimana cara mengarahkan output dari system() ke file?

  3. Saat membaca file dengan `kurang` atau `lebih`, bagaimana saya bisa mendapatkan konten berwarna?

  1. Mengarahkan Isi File Ke Perintah "echo"?

  2. Bagaimana cara mengarahkan output dari suatu perintah ke file ketika perintah tersebut akan meminta input pengguna?

  3. Bagaimana cara mendapatkan ukuran fisik file di Linux?