Shell脚本相关注意事项

原创
2022/04/05 18:29
阅读数 274

本文分享了关于Shell脚本的相关注意事项,这些点在实际的工作中可能会经常遇到。

tips1:注意脚本的执行路径的设置和获取。

在使用Shell脚本来处理日常工作中的事务时,需要特别注意脚本的执行路径,常用的路径有绝对路径和相对路径。例如下面的例子程序中,可以通过dirname这个命令,获取脚本的绝对路径。其中的dirname $0就是获取的当前脚本的路径为. , 即当前路径,然后通过cd到这个目录下,并获取pwd,得到当前脚本的绝对路径。

base_path=$(cd `dirname $0`;pwd)
echo "脚本的当前执行路径是:"$base_path
function doSomething(){
    cd $base_path
    echo "=============do some thing here============="
}

tips2: 函数封装操作逻辑,注意设置返回值。

尽量将函数封装到独立的文件中:

#! /bin/bash

function a(){
        echo "==========a============="
}

function b(){
        echo "==========b============"
}



function adder(){
        c=$(($1+$2))
        return $c
}  

并保存到func.sh中,然后通过另外一个脚本来调用这些封装的函数。

#! /bin/bash
source ./func.sh

function usage(){
        echo $"The usage is:$0 num1 num2"
}

function main(){
        if [[ $# -ne 2 ]];then
                usage
        elif [[ $# -eq 2 ]];then
                adder $1 $2
                echo $?
        else
                echo "ok"
        fi
}

main $*    

当参数的个数小于2时,可以看到下面的提示:

[root@centos ~]# ./test_funcs.sh
The usage is:./test_funcs.sh num1 num2  

当参数个数符合预期时,可以正常进行相关的计算:

[root@centos ~]# ./test_funcs.sh 10 20
30

需要注意的是,如果计算的结果大于255,则需要直接在function adder中echo计算的结果。return可能无法返回预期的结果。

tips3:脚本写入文件时注意开始标识符和结束标识符的设置。

在脚本中写入文件时,需要注意here document的用法

#! /bin/bash

touch test_file
cat >test_file<<EOF
hello world.
EOF

执行上述脚本后,可以查看test_file的内容如下:

[root@centos ~]# cat test_file
hello world.

 

关于Shell脚本还有很多知识点,以上只是整理了一部分,后续继续在实践中总结,与大家分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部