shell中$0,$?,$!等的特殊用法
2024-05-15 16:10:20
shell中$0,$?,$!等的特殊用法
(2011-03-01 17:38:00)
转载▼
标签:
it |
变量说明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
我们先写一个简单的脚本,执行以后再解释各个变量的意义
# touch variable
# vi variable
脚本内容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
保存退出
赋予脚本执行权限
# chmod +x variable
执行脚本
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
通过显示结果可以看到:
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
# touch variable
# vi variable
脚本内容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
保存退出
赋予脚本执行权限
# chmod +x variable
执行脚本
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb
通过显示结果可以看到:
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
最新文章
- Flume日志收集系统
- netty使用从0到1
- ​利用卷积神经网络学习脑电地形图表示进行分类
- Redis 的持久化方案
- mac地址扫描源码_愤怒的IP扫描仪 一种快速的网络扫描工具
- 奥特曼系列ol服务器名称带怪兽,《奥特曼系列ol》怪兽图鉴 怪兽阵容
- logstash 使用glusterfs网络存储偶发性文件解析异常的问题
- 2019春第八周作业
- (转)Arcgis for js加载天地图
- c语言 string.h部分常用函数的实现
- iOS下JS和原生交互,函数互调
- apache sentry
- python与西门子1200通讯_西门子S7-1200的以太网通信
- 计算机进pe按键,台式机进入pe按什么键
- Egret引擎基础教程I(下载安装创建第一个项目)
- R语言KNN分类问题(kknn/class包在iris数据集上的实例)
- matlab霍夫曼吗仿真,霍夫曼编译码的Matlab代码实现
- vue.js之minix
- 托格机器人_爱,死亡和机器人人第一季
- windows 查看ip命令