Saya mencoba mempelajari skrip bash. Saya sedang mengerjakan masalah praktis dan pada satu titik saya perlu menambahkan baris ke file yang memerlukan root
izin untuk menulis.
Kode ini terlihat seperti ini:
# some code
echo "add this line to the code" >> fileName
# some code
Apakah mungkin untuk membuat script meminta kata sandi root, memvalidasi kata sandi, dan ketika otentikasi berhasil memodifikasi file? Skrip kemudian harus kembali ke mode pengguna dan melanjutkan eksekusi perintah.
sudo
, kata sandi sepertinya tidak di-cachesu
.Anda bisa menggunakan
tee
dengansudo
:echo
Output diarahkan dengan|
( pipa ) kesudo tee
.tee
membaca dari input standar dan menulis ke output standar setiap file yang diberikan, dalam hal inifilename
.-a
(atau--append
) membuattee
menambahkan ke file, tanpa itu file akan ditimpa. Saattee
dijalankan dengansudo
itu membuka file dengan izin root. Akhirnya,> /dev/null
menekantee
output ke output standar .Salah satu keuntungan menggunakan
tee
daripada hanya memulai seluruh perintah termasuk pengalihan dengansu -c
atausudo sh -c
adalah, bahwa Anda tidak harus mengubah kuotasi dari perintah awal dengan cara apa pun (Mengutip baris yang sudah berisi tanda kutip kadang-kadang bisa sangat jelek).sumber
Coba ini Perintah ini tersedia di Unix dan Linux.
sudo sh -c "echo 'add this line to the code' >> fileName"
sumber
Akan melakukan trik:
sumber
ssh
? Anda tidak perlusu
dengansudo
dan Anda juga tidak perlu menentukanroot
karena ini adalah default. Secara keseluruhan, sedikit penjelasan akan lebih baik karena OP ingin belajar sesuatu dan bukan hanya masalah yang diselesaikan.