Pertanyaan Apa perbedaan antara set, env, declare dan export ketika mengatur variabel di shell Linux?


Apa perbedaan antara set, env, declare dan export saat mengatur variabel dalam shell Linux, seperti bash?


12
2017-10-05 12:26


asal


Mengapa pertanyaan ini ditolak? - l0b0


Jawaban:


Tampaknya mengatur dan menyatakan sedikit berbeda, dengan set yang lebih kuat.

Lihat "declare" di bawah https://www.gnu.org/software/bash/manual/bash.html#Bash-Builtins

Setel "set" di bawah https://www.gnu.org/software/bash/manual/bash.html#The-Set-Builtin

Saya pikir ini adalah penjelasan ekspor yang baik: http://www.unix.com/302531838-post2.html

Meminjam kode dari URL di atas:

root@linux ~# x=5                <= here variable is set without export command
root@linux ~# echo $x
5
root@linux ~# bash               <= subshell creation
root@linux ~# echo $x            <= subshell doesnt know $x variable value
root@linux ~# exit               <= exit from subshell
exit
root@linux ~# echo $x            <= parent shell still knows $x variable
5
root@linux ~# export x=5         <= specify $x variable value using export command
root@linux ~# echo $x            <= parent shell doesn't see any difference from the first declaration
5
root@linux ~# bash               <= create subshell again
root@linux ~# echo $x            <= now the subshell knows $x variable value
5
root@linux ~#

5
2017-09-10 13:55



declare dan set dan env? ekspor vs menyatakan? - Pacerier
Saya harus downvote ini karena itu tidak menjawab pertanyaan. - Daniel C. Sobral