向bash shell脚本传参

例子:

powershell 复制代码
~ script % touch parameter.sh
~ script % chmod 755 parameter.sh
~ % vim parameter.sh

parameter.sh:

powershell 复制代码
#!/usr/bin/env bash

echo the name of current script is $0

echo the first parameter is $1

echo the second parameter is $2

echo all parameters: $@

exit 0 

执行:

powershell 复制代码
script % ./parameter.sh a b
the name of current script is ./parameter.sh
the first parameter is a
the second parameter is b
all parameters: a b
  • $0 带全路径的脚本名称
  • $1 第1个参数
  • $2 第2个参数
  • $3 第3个参数
    ...
  • ${10} 第10个参数
    ...
  • ${255} 第255个参数
    最多可以有255个参数
  • @: 获取所有参数,除了脚本名称,即@等于1\~255的参数的集合

我们可以通过查询$?了解脚本程序退出的状态。因为上面的脚本加了exit 0表示退出时的状态是0,一般来说,当程序出现异常导致退出时,状态值是个非0的整数。 如果我们加上这一句exit 10,执行完脚本后,再查询一个退出状态,就会得到10,查询的方式:

powershell 复制代码
~ script % echo $?
10
相关推荐
鸠。6 分钟前
Java基础复习(JavaSE进阶)第八章 多线程
java·开发语言
菜就多练吧1 小时前
JVM 内存分布详解
java·开发语言·jvm
搬砖工程师Cola2 小时前
<C#>.NET WebAPI 的 FromBody ,FromForm ,FromServices等详细解释
开发语言·c#·.net
伊H2 小时前
C语言main的参数;argc与argv
linux·c语言·算法
husertuo2 小时前
Linux下的网络管理配置
linux·云计算
李长渊哦4 小时前
深入理解 JavaScript 中的全局对象与 JSON 序列化
开发语言·javascript·json
liqingdi4374 小时前
WSL+Ubuntu+miniconda环境配置
linux·windows·ubuntu
luoqice4 小时前
通过 Samba 服务实现 Ubuntu 和 Windows 之间互传文件
linux
若水晴空初如梦4 小时前
QT聊天项目DAY06
开发语言·qt
h汉堡6 小时前
C++入门基础
开发语言·c++·学习