|
导航:[首页]->[bash]->[Bash学习-入门]
###Hello World #!/bin/bash ###变量 没有特殊要求,变量访问使用”${var}”(使用双引号加大括号括起来) #####特殊变量
#####局部变量 在前面加入local(函数参数总是局部变量)。见下面的两段代码 #!/bin/bash var=”abc” function main() { local var=”def” } main “${@}” echo “${var}” # 输出abc ################################ #!/bin/bash var=”abc” function main() { var=”def” } main “${@}” echo “${var}” # 输出def ###比较 #####整数操作 使用 if [ left opr right ];then -eq (equal) -ne (not equal) -gt (great than) -lt (less then) -ge (great and equal) -le (less and equel) #####字符串比较 使用 if [[ left opr right ]];then = (equal) != (not equal) > (great than) < (less then) #####变量判断 使用 if [ opr var ];then -z (zero) -n (not zero) #####文件判断 使用 if [ opr var ];then -e file 文件 file 已经存在 -f file 文件 file 是普通文件 -s file 文件 file 大小不为零 -d file 文件 file 是一个目录 -r file 文件 file 对当前用户可以读取 -w file 文件 file 对当前用户可以写入 -x file 文件 file 对当前用户可以执行 -g file 文件 file 的 GID 标志被设置 -u file 文件 file 的 UID 标志被设置 -O file 文件 file 是属于当前用户的 -G file 文件 file 的组 ID 和当前用户相同 ###if判断
###for循环 # 如果列表被包含在一对双引号中,则被认为是一个元素 for var in a b c d;do echo -n “ ${var} |” done # a | b | c | d | ###################################### # 如果换成”${var}”,则被认为是一个元素 var=”a b c d” for var in ${var};do echo -n “ ${var} |” done # a | b | c | d | ###################################### # 声明数组 declare -a array=(a b c d) for var in “${array[@]}”;do echo -n “ ${var} |” done # a | b | c | d | ###################################### # 枚举参数 function main() { for var;do echo -n “ ${var} |” done } main a b c d # a | b | c | d | ###################################### ###数组 # 声明全局数组 declare -a array=(a b c d) ###let与expr bash中的整数运算中常会用到let与expr # expr是一个实体命令(/usr/bin/expr),而let是一个内建命令,效率较高 a=1 echo $(expr $a + 1) # 注意这里“+”两边有空格。 # 2 echo $(expr $a+1) #“+”两边没有空格输出的结果,这一定不是我们想要的。 # 1+1 ###While var=0 while [ ${var} -lt 5 ] do echo “while test” let var=”${var} + 1” done # 输出5行”while test” ###Until 理解起来很别扭 var=0 until [ ${var} -ge 5 ] do echo “aa” let var=”${var} + 1” done ###Case “)”似乎必须靠前,否则匹配不了 case $1 in 1) echo “first” ;; [2-9]) echo “second $1” ;; 3) echo “third $1” ;; 4[0-9]) echo “four $1” ;; *) echo “default” ;; esac ###函数
function func1
{
return 0
}
func2()
{
return 1
}
function func3()
{
echo “aaa”
return 2
}
# 调用
func1 “arg1” “arg2”
# 获得返回值
func2 “arg1” “arg2”
ret=”${?}”
# 获得输出
declare output
output= ###参考
|