linux脚本学习

最近又重新捡起了以前放在一边的linux脚本了,呵呵,最开始学习linux脚本编写是在搭建linux下的qmail邮件服务器的时候。那时候由于qmail要安装很多软件包,所以就把命令整理成一个脚本来一次批处理运行,那时也学到了linux下的shell编程。

    脚本其实多半就是终端命令的一个集合,批处理。所以只要熟悉linux下的终端命令基本上就可以写出shell脚本了,当然了,脚本肯定还是会有不同的地方的,比如if-else语句、switch等流程语句的使用,参数的获取等等。不过在编写linux脚本的时候要注意在windows平台编写后拿到linux下运行会有很多问题,比如换行回车,另外还有一些字符的问题。总之就是比较麻烦,我的做法就是直接在linux下编辑脚本,如果确实要在windows下编辑的,我都会在linux下新建立一个,然后回车N多行,下到windows后然后就是直接在每一行上输入内容了,不在windows下换行,这样基本上脚本运行就不会报诸如unexpected EOF等等一些错误了。

    比如,最简单的脚本如下,就是打印Hello world!

#打印"Hello world!"的脚本
echo "Hello world!"

    然后保存该脚本为test.sh,然后执行下面的命令就可以执行了。

#chmod 777 test.sh
#./test.sh

    第一行是设置该文件为可执行文件,第二行就是运行该文件了,注意在linux运行可执行文件必须在文件前加路径符号,如果是当前目录下就需要加./了。下面我在写脚本时候用到的一些简单的应用。

1.在脚本中设置环境变量的值

    比如我想向环境变量CLASSPATH中加入一aaa.jar文件,那么我就可以这样写在脚本中:

CLASSPATH=$CLASSPATH:aaa.jar

    注意环境变量的名称大小写一定要和已有的CLASSPATH一致才可以。同时使用$CLASSPATH是引用当前的CLASSPATH的值,这和windows下的%classpath%是一样的效果。不同于windows的是路径之间的分隔符为冒号(:)而不是分号(;)。

2.在脚本中获取参数

    在脚本中使用命令行输入参数,可以直接使用$1、$2、$3……这样来获取,而获取命令参数的总数目则是使用$#来得到。

#如果参数个数小于3则输出信息并且退出运行
if [ "$#" -lt "3"]; then
    echo "参数个数应该大于三个!"
    exit 0
else
    echo "您输入的参数为:"
    echo "输入的第二个参数为:"
    echo $2
    for arg in $*; do
        echo "$arg"
    done
fi
echo "脚本调用成功!"

    这里,我们限制用户必须输入三个以上的参数,然后遍历输出用户输入的所有参数值,注意脚本中的for循环,其中$*是获取用户输入的所有参数,然后arg是单个变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值