Saya memiliki masalah ketika menggunakan perintah "ekspor"

12

Ketika saya meletakkan sudo "export PROXY_LOCAL_NET_IP = 10.113.35.108" Saya mendapatkan kesalahan berikut:

sudo: export: command not found

Apa yang harus saya lakukan untuk menyelesaikan masalah ini?

Dady
sumber
Apakah ini berfungsi tanpa sudo?
user128285
Mungkin Anda seharusnya tidak menggunakan tanda kutip dalam perintah.
user128285
ekspor tidak akan bekerja dengan ikan-bash untuk alasan apa pun
Raffael
Cara menjaga variabel lingkungan saat menggunakan sudo: stackoverflow.com/questions/8633461/…
Mark Fox

Jawaban:

9

Anda tidak dapat menggunakan shell bawaan sudo. Hanya perintah yang sesuai dengan file yang valid yang akan dieksekusi melalui sudo. Sintaks yang benar untuk sudo adalah:sudo [options] [filename]

Ekspor adalah perintah di dalam (builtin) dari shell Bash dan mungkin beberapa lainnya juga.

Juga, perhatikan bahwa tidak ada gunanya melakukan tindakan exportvia sudo, itu harus dilakukan di bawah id pengguna Anda agar dapat diterapkan pada shell Anda dan proses turunannya.

Jika Anda beralih ke pengguna root untuk melakukan ini, Anda harus melakukan sisa operasi Anda sebagai root: ini tidak dianjurkan . Karena jika Anda keluar dari shell root, tugas yang dilakukan oleh exportakan hilang.

Benoit
sumber
7

Menjadi pengguna root dengan sudo -sdan kata sandi Anda.
Kemudian masukkan perintah Anda tanpa sudo: export PROXY_LOCAL_NET_IP = 10.113.35.108`

ramalan201
sumber
4

Anda dapat menggunakan opsi sudo -E untuk menggunakan variabel yang diekspor dalam perintah sudo

Pertanyaan stackoverflow berikut memiliki beberapa detail tambahan tentang cara menggunakan variabel lingkungan dengan sudo

pengguna596851
sumber