向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
相关推荐
沐知全栈开发25 分钟前
前端控制器模式
开发语言
C***115034 分钟前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
放学有种别跑、36 分钟前
GIT使用指南
大数据·linux·git·elasticsearch
做人不要太理性1 小时前
【Linux系统】线程的同步与互斥:核心原理、锁机制与实战代码
linux·服务器·算法
weixin_660096781 小时前
zsh中使用自动补全zsh-autosuggestions
linux·ubuntu·zsh·zshrc
Percep_gan1 小时前
解决java.security.InvalidKeyException: Illegal key size
java·开发语言
Ghost Face...1 小时前
Linux音频控制神器:amixer完全指南
linux·chrome·音视频
大柏怎么被偷了1 小时前
【Linux】进程替换
linux·运维·服务器
Xの哲學2 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算
乌萨奇也要立志学C++2 小时前
【Linux】进程信号(二)信号保存与捕捉全解析、可重入函数、volatile
linux·服务器