bash中的set, env, export unset的区别
参考这篇文章2
-------------------------- ==
set显示的是当前shell的变量, 不同的shell, 它的私有变量是不同的
env是显示用户的变量, 在不同的shell中, 用户变量都是一样的
export是指将shell变量 导出到 用户变量中的 那些变量.
某个用户登陆linux的时候, 执行的过程是:
/etc/profile -> (.bash_profile [通常只有这个文件] | .bash_login | .profile ) -> .bashrc -> /etc/bashrc -> .bash_logout
在.bash_profile中有:
if [ -f ~/.bashrc ]; then
. .bashrc
fi
# bash脚本编程中: 如果你表示单纯的 纯粹的字符串, 一定要使用 双引号
# 但是如果你要表示除 纯粹字符串之外的 内容: 如: 文件/ 文件夹 /文件集合等 就不要加 引号
# 文件集合: 在bash中支持 通配符的使用: * ?
如: for i in /etc/profile.d/*.sh; do
.....
done
# shell bash编程中, 除了函数使用{ }外, 语法结构, 如if for 等都不是使用大括号来
# 界定范围的, 而是用关键字来界定范围的
# 如: if ... then ... else ...fi for i in ...; do ....done
bash编程中的函数 通常是不需要 返回值的,
如果需要:[参考文章](http://blog.chinaunix.net/uid-726813-id-2060120.html)
wget -c ....中的-c 是指 continue, 即断点续传的意思...
图中的source就是引入来源的意思, 所以这个命令就是 source: source the global definition
定义一个变量的时候, 要var=value, 紧挨着写, 不要分开写: var = value,
因为这样的话, bash会将var解释成一个命令, 而实际上这样的命令是没有的!