Linux脚本中$#、$0、$1、$@、$*、$$、$?
1.首先介绍一下这个几个参数的意义:
$#:传入脚本的参数个数;
$0: 脚本自身的名称;
$1: 传入脚本的第一个参数;
$2: 传入脚本的第二个参数;
$@: 传入脚本的所有参数;
$*:传入脚本的所有参数;
$$: 脚本执行的进程id;
$?: 上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;
其中$@与$*正常情况下一样,当在脚本中将$*加上双引号作为“$*”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b c三个参数,则“$*”表示“a b c”一个字符串。
2.测试
测试脚本test.sh
#!/bin/bash echo "脚本名称: $0" echo "第一个参数: $1" echo "第二个参数: $2" echo "参数个数: $#" echo "输入的参数:$*" for key in $* do echo $key; done for key in "$*" do echo $key done echo "输入的参数:$@" for key in $@ do echo $key; done for key in "$@" do echo $key; done echo "进程id: $$" echo "状态: $?"
3.执行脚本
sh test.sh a b
脚本名称: test.sh 第一个参数: a 第二个参数: b 参数个数: 2 输入的参数:a b a b a b 输入的参数:a b a b a b 进程id: 8682 状态: 0
Linux端口转发-rinted工具部署、配置、使用
Netty学习(八)-Netty的心跳机制
Navicat Premium 12破解方法
App界面设计规范-字体规范
PHP 扩展开发之Zephir
rinetd 一个linux下的端口转发工具
windows node版本管理工具nvm
vue cli 常见问题汇总
监听微信返回
- 最新文章
-
报错解决——No packages in any requested group available to install or update
报错解决——Error getting repository data for epel, repository not found
报错解决——Failed to set locale, defaulting to C
Python 处理异常栈模块——traceback 模块
Linux 对音频万能处理的命令——SOX
梳理数据库(MySQL)的主要知识点
ubuntu 各压缩文件解压命令大全
使用 jpype 库实现 Python 调用 java 的 jar 包中的功能
Linux 命令行作弊工具安利
Python 使用 win32com 模块对 word 文件进行操作
