一、数组
1、和其他编程语言一样,shell并没有限制数组的大小,下标也是从0开始计数。bash shell只支持一维数组。
array_name=(ele1 ele2 ele3 ...elen) #赋值号=旁边不能有空格
2、用键值对形式赋值是几就搜索几,和原有下标顺序不一样
3、重新复制,进行覆盖,没有覆盖的保持原有数据
4、动态定义数组变量
[root@localhost 数组]# array=($(ls array))
[root@localhost 数组]# echo ${array[*]}
1.txt 2.txt 3.txt
使用命令的结果作为数组的内容
5、数组的输出和打印
echo ${array[*]}
echo ${array[@]} #可以获取整个数组元素
unset array[标号]
unset array删除整个数组
6、数组内容的截取和替换
echo ${array[@]:1:3}
echo ${array[@]/a/3} #原数组没有改变
二、环境变量
也成为全局变量,分为自定义环境变量和bash内置的环境量,可以在文件中设置永久保存环境变量。
全局文件/etc/bashrc 或/etc/profile 或 /etc/profile.d(不需要加执行权限) 对所有用户效。.bash_profile/ .bashrc仅对指定用户有效。
非登陆用户shell只会先加载.bashrc,在去/etc/bashrc。不访问其他文件
可以用env列出系统中所有的环境变量。
env | grep 变量名
1、自定义环境变量
export 变量名=value #临时退出清空,便两名通常大写
变量名=value;export 变量名
declare -x 变量名=value
在java中一定要放在/etc/profile中。
unset name #取消,临时取消临时设定