Sebelum menginstal gnuplot, saya mengatur variabel lingkungan GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src. Selama instalasi, ada yang salah.
Saya ingin menghapus GNUPLOT_DRIVER_DIRvariabel lingkungan. Bagaimana saya bisa mencapainya?
Sebelum menginstal gnuplot, saya mengatur variabel lingkungan GNUPLOT_DRIVER_DIR = /home/gnuplot/build/src. Selama instalasi, ada yang salah.
Saya ingin menghapus GNUPLOT_DRIVER_DIRvariabel lingkungan. Bagaimana saya bisa mencapainya?
Jawaban:
unset adalah perintah yang Anda cari.
unset GNUPLOT_DRIVER_DIR
unexportuntuk melakukannya T="$MYVAR"; unset MYVAR; MYVAR="$T"; unset T?
declare +x MYVARuntuk menghapus ekspor tetapi menyimpan nilai dalam shell saat ini.
export -n MYWARberfungsi di Bash.
Uji apakah variabel DUALCASE ada:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
Tidak, jadi buat variabel dan ekspor:
el@apollo:~$ DUALCASE=1
el@apollo:~$ export DUALCASE
Periksa apakah ada di sana:
el@apollo:~$ env | grep DUALCASE
DUALCASE=1
Itu di sana. Jadi singkirkan itu:
el@apollo:~$ unset DUALCASE
Periksa apakah masih ada di sana:
el@apollo:~$ env | grep DUALCASE
el@apollo:~$
Variabel lingkungan yang diekspor DUALCASE dihapus.
Batalkan semua variabel lokal kembali ke default saat login:
el@apollo:~$ CAN="chuck norris"
el@apollo:~$ set | grep CAN
CAN='chuck norris'
el@apollo:~$ env | grep CAN
el@apollo:~$
el@apollo:~$ exec bash
el@apollo:~$ set | grep CAN
el@apollo:~$ env | grep CAN
el@apollo:~$
exec bash perintah membersihkan semua variabel lokal tetapi tidak variabel lingkungan.
Batalkan semua variabel lingkungan kembali ke default saat login:
el@apollo:~$ export DOGE="so wow"
el@apollo:~$ env | grep DOGE
DOGE=so wow
el@apollo:~$ env -i bash
el@apollo:~$ env | grep DOGE
el@apollo:~$
env -i bash perintah membersihkan semua variabel lingkungan ke default saat login.
echo $VARIABLElebih baik daripada env | grep VARIABLE, lebih ringan karena tidak perlu mencetak semua variabel dan kemudian mengirimkan hasilnya ke proses (grep) yang lain. Plus, env | VARIABLEbisa menangkap lebih dari satu variabel yang cocok dengan pola yang sama. Plus2, echo $VARIABLEmemungkinkan untuk melengkapi nama variabel dengan menekan <Tab> (jika ada, itu juga bisa menjadi petunjuk untuk apa yang ingin Anda lakukan).
echo $VARIABLEtidak memberi tahu Anda apakah VARIABEL adalah variabel shell (di sini disebut "variabel lokal") atau variabel lingkungan, yang merupakan inti dari langkah-langkah tersebut.
env -i bashtampaknya membuat subkulit (setidaknya pada Mac) yang mungkin memiliki konsekuensi yang tidak diinginkan.
env | grep -e '^VARNAME='.
Karena pertanyaan awal tidak menyebutkan bagaimana variabel ditetapkan, dan karena saya membuka halaman ini untuk mencari jawaban spesifik ini, saya menambahkan yang berikut:
Dalam C shell (csh / tcsh) ada dua cara untuk mengatur variabel lingkungan:
set x = "something"setenv x "something"Perbedaan dalam perilaku adalah bahwa variabel yang ditetapkan dengan perintah setenv secara otomatis diekspor ke subshell sedangkan variabel yang diatur dengan set tidak.
Untuk membatalkan set variabel dengan set , gunakan
unset x
Untuk membatalkan set variabel dengan setenv , gunakan
unsetenv x
Catatan: dalam semua hal di atas, saya berasumsi bahwa nama variabel adalah 'x'.
kredit:
https://www.cyberciti.biz/faq/unix-linux-difference-between-set-and-setenv-c-shell-variable/ https://www.oreilly.com/library/view/solaristm-7- referensi / 0130200484 / 0130200484_ch18lev1sec24.html
ini juga bisa berfungsi.
export GNUPLOT_DRIVER_DIR=
envperintah. Mungkin saja kasus bahwa aplikasi yang menggunakan variabel tidak membedakan antara variabel lingkungan tidak ada dan kosong.
export PAGER=, tetapi itu hanya menonaktifkan paging sepenuhnya - semua halaman manual saya langsung dibuang ke terminal. unset PAGERmelakukan trik, mengembalikannya ke perilaku default.
Seperti yang disebutkan dalam jawaban di atas, unset GNUPLOT_DRIVER_DIRseharusnya berfungsi jika Anda telah exportmengatur variabel. Jika Anda telah mengaturnya secara permanen di ~/.bashrcatau ~/.zshrckemudian hanya menghapusnya dari sana akan berhasil.