码迷,mamicode.com
首页 > 系统相关 > 详细

shell 初步

时间:2015-03-21 17:05:59      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:shell

下面简单介绍一下Shell 编程。shell 中用户自定义函数。先举个小例子。

#!/bin/bash

work() {
    ans=`expr $1 + $2`
    return $ans
}

genStr() {
    ans="hello bash"
    return $ans
}
work 3 4
echo $?
genStr
echo $?

i=1
((b=$i+1)) # 这里的 b=2 这样可以给i加1
echo $i 
for i in `ls`
do
if [ $i = ‘hello.sh‘ ]
then
   echo ‘yes, exists‘
fi
done
if [ -d "mysql" ] #判断当前目录下是否存在mysql 目录。
then
    echo "mysql dir exists"
fi
if [ ! -d "mysql" ] #如果当前目录下没有 mysql 目录,创建并给出提示。
then
    mkdir "mysql"
    echo "mysql dir has been created!"
fi

对上面这段代码,做如下说明。
1. shell 中的变量的定义和引用。定义的时候前面不用$,但是引用的时候在变量前要加上$。Shell中变量的赋值,=的左右是没有空格的,所以写shell的时候,空格不能随便加。
2. shell 中的函数,参数 => $0,$1,$2 就和命令行参数一样,在调用函数的时候,内部函数的返回值用$?来表示。调用函数的时候不需要加括号。只需要函数名,和参数。
3. 最后一个是shell中算数运算的例子,要用两队括号,当然,算数运算还可以实用expr 工具,见第一个函数内。
4. shell 中的 for 循环。注意do …. done 的格式。
5. shell 中的if 语句。注意 if 后面的 [] ,是后面至少要有一个空格,并且 [] 内的表达式应应该是有一个空格的, $i = ‘hello.sh’ 。接上面提到的 = 的用法,现在可以稍微总结一 下,= 两边没有空格表示 赋值运算, 两边又空格表示逻辑运算的相等。
6. 注意shell中的 if … then … fi 的格式。
7. shell 中是可以没有; 这个符号的,python 也有这一特点,有没有都一样,建议不加。
8. shell 中if语句还有很多中判断类型,比如判断字符串是否相等,判断是不是文件,判断有没有读写权限等等….

shell 初步

标签:shell

原文地址:http://blog.csdn.net/typeof_/article/details/44516953

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!