笔记 作业
作业都能查看因为子Shell看不到夫Shell的局部变量但是夫shell的局部变量不会被子shell影响创建一个shell文件不可以直接运行该文件而设置PATH环境变量后可以运行但是重启系统后不能运行成功如下图所示笔记1.环境变量:在程序外部设置的变量通常通过操作系统或微服务内置的功能设置2.系统环境变量基本上都是使用全大写字母,以区别于普通用户的环境变量在bash shell 中环境变量分为两类1全局变量全局环境变量对于shell会话和所有生成的子shell都是可见的2局部变量局部变量则只对创建它们的shell可见3.查看全局变量可以使用env或printenv命令但是要显示个别环境变量的值可以使用printenv命令不要用env命令也可以使用echo显示变量的值在这种情况下引用某个环境变量的时候必须在变量前面加上一个$4.用bash命令生成一个子shell后这个全局变量的值和父shell中的值是相同的5.Linux 系统并没有一个只显示局部环境变量的命令set命令会显示为某个特定进程设置的所有环境变量包括局部变量、全局变量以及用户定义量set还会按照字母顺序对结果进行排序6.在设置局部变量名时来给环境变量赋值值可以是数值或字符串变量名有大小写之别在创建自己的变量名时最好用小写变量名、等号和值之间没有空格只能在当前shell中使用局部环境变量7.先创建一个局部环境变量再通过export命令把它导出到全局环境中8. unset 命令变量名可删除已经存在的环境变量在 unset 命令中引用环境变量时记住不要使用 $9.PATH环境变量定义了用于进行命令和程序查找的目录, PATH中的目录使用冒号分隔;如果应用程序放置可执行文件的目录不在PATH环境变量所包含的目录中,可以用PATH$PATH/home/christine/Scripts这种方式10.当你登录 Linux 系统Shell 会按特定顺序读取启动文件来初始化环境环境变量全局看 /etc个人看 ~顺序找 bash_profile bash_login profile11.建立数组可以用name(1 2 3),用空格来分隔元素查看所有的元素可以用echo ${name[*]};unset 删除单个元素时只会清空该位置的值不会移动其他元素的位置索引;删除整个数组后${mytest[*]} 将无输出