shell 学习笔记(一)
问题:
1.shell数组如何表示,和字符串如何转换。
2.关于shell中的花括号{} 使用 详情。
3.shell中的圆括号() 使用详情。
----------------
百度一下
回答1:
http://bbs.chinaunix.net/thread-1779167-1-1.html
http://zhenshi4597.blog.51cto.com/1891465/871166
练习一下
声明 :array=(1 2 3 4 5)
访问: echo ${array[0]}
删除: unset ${array[4]}
数组长度: ${#array[@]} 或者 ${{#array[*]} ; 单个元素的长度 ${#array[3]}
子数组访问: 除去前3个 ${array[@]:3}
从下标a 到下标b ${array[@]:1:3}
转换:
字符串转数组
b="one two three four "
c=($b)
数组转字符串
c=(one two three four )
b="${c[*]}"
回答二:
花括号可以区分区分变量
echo ${a}nice
echo ${array[0]}
在花括号内还可以进行各做变量操作,
如 % 和# 截断操作, #截断开头最短 ## 开头最长 % 末尾最短 %%末尾最长
:- :+ :? := 判断操作,
${a:-10} 相当于 return $a || 10;
${a:?10} 相当于 return $a or die '10';
${a:=10} 相当于 return $a || $a=10 ;
${a:+10} 相当于 return $a && 10;
回答三:圆括号
一方面是给数组使用
另一方面 算数展开
http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html