加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

LINUX的bash如何给shell脚本传参数

发布时间:2020-12-13 17:53:27 所属栏目:Linux 来源:网络整理
导读:《LINUX的bash如何给shell脚本传参数》要点: 本文介绍了LINUX的bash如何给shell脚本传参数,希望对您有用。如果有疑问,可以联系我们。 bash命令后边可以跟任意的参数,具体要如何操作? 执行“vi test.sh”创建一个新的shell脚本。 脚本test.sh的内容如下

《LINUX的bash如何给shell脚本传参数》要点:
本文介绍了LINUX的bash如何给shell脚本传参数,希望对您有用。如果有疑问,可以联系我们。

bash命令后边可以跟任意的参数,具体要如何操作?

执行“vi test.sh”创建一个新的shell脚本。

脚本test.sh的内容如下:

#!/bin/sh
name=$1
echo "the ${name} !"

给新建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。执行可以看到结果.


如果想判断参数为空则中止执行,可以

if [ "$1" = "" ]; then
        echo -e "请提供参数."
        exit 1
fi

或:

if [ $# == 0 ];then
    echo "没有带参数";
else
       echo "带了$#个参数"
fi

或:

if [ "$1" ];then
    echo "带参数";
else
    echo "没有带参数 "
fi

上面的代码其实和使用if结构的-z参数是一样的,都是用于检测字符串是符不空值。因此也可以换成使用-z参数来判断。示例代码如下 :

if [ -z "$1" ];then
    echo "没有带参数";
else
    echo "带参数"
fi


详解:

"name=$1"中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。

linux系统除了提供位置参数还提供内置参数,内置参数如下: 

        $# ----传递给程序的总的参数数目  

      $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。   

         $* ----传递给程序的所有参数组成的字符串。   

        $n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ...   $0 ----当前程序的名称   

         $@----以"参数1" "参数2" ... 形式保存所有参数   

         $$ ----本程序的(进程ID号)PID   

         $! ----上一个命令的PID

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读