ShellScript值传递参数
Shell传递参数
######################################摘自菜鸟教程:http://www.runoob.com/linux/linux-shell-passing-arguments.html #####################################
1、shell脚本传递参数
向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
#!/bin/bash
echo "Shell脚本传递参数学习!"
echo "执行的文件名:$0"
echo "第一个参数为$1" ##第一个参数为1
echo "第二个参数为$2" ##第二个参数为2
echo "第三个参数为$3" ##第三个参数为3
执行shellscript脚本:./bian_trans1.sh 1 2 3
2、特殊字符来处理参数
参数处理 |
说明 |
$# |
传递到脚本的参数个数 |
$* |
以一个单字符串显示所有向脚本传递的参数。 |
$$ |
脚本运行的当前进程ID号 |
$! |
后台运行的最后一个进程的ID号 |
$@ |
与$*相同,但是使用时加引号,并在引号中返回每个参数。 |
$- |
显示Shell使用的当前选项,与set命令功能相同。 |
$? |
显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
例子:
#!/bin/bash
echo "Shell脚本传递参数学习!"
echo "执行的文件名:$0"
echo "第一个参数为$1"
echo "第二个参数为$2"
echo "第三个参数为$3"
echo "传递到脚本的参数个数为:$#" ##传递到脚本的参数个数为:3
echo "传递到脚本的参数为:$*" ##传递到脚本的参数为:1 2
3
echo "脚本运行的当前进程ID号:$$" ##脚本运行的当前进程ID号:14483
echo "后台运行的最后一个进程的ID号:$!" ##后台运行的最后一个进程的ID号:
echo "传递到脚本的参数为:"$@""
##传递到脚本的参数为:1 2 3
echo "当前shell使用的选项为:$-"
##前shell使用的选项为:hB
echo "最后命令的退出状态:$?"
##0表示没有错误,其他任何值表明有错误 ##最后命令的退出状态:0
运行当前脚本:./bian_trans2.sh 1 2 3
备注:$*与$@的区别
相同点:都是引用所有参数。
不同点:只有在双引号中体现出来。
#!/bin/bash
###演示$*的效果
echo "-----\$*的演示效果----"
for i in "$*";do
echo $i
done
###打印效果:-----$*的演示效果----
1 2 3
###演示$@的效果
echo "-----\$@的演示效果-----"
for j in "$@";do
echo $j
done
###打印效果:-----$@的演示效果-----
1
2
3
最新文章
- MyEclipse开发Java Web项目步骤
- 【转】Cordova文件传输插件fileTransfer
- Java-->;List&;Set
- SQLServer Ansi_Padding的用法
- jQuery-瀑布流-浮动布局(一
- Android的Service的创建与使用
- NDK中使用pthread多线程中自己写的一个BUG
- 解决Maven项目总是回跳到jdk1.5的情况的方法
- EntityFramework用法探索(八)事务处理
- hud1007 Quoit Design
- 1.Tomcat配置.md
- 处理 Java Tomcat 的“Cannot allocate memory”错误
- Linux应用程序设计之网络基础编程
- IO流-递归遍历目录下指定后缀名结尾的文件名称
- hadoop之存储篇
- Codeforces 839D Winter is here(容斥原理)
- Selenium自动化测试第一天(上)
- BZOJ1911:[Apio2010]特别行动队——题解
- 一个tomcat中部署多个项目
- QPS、PV和需要部署机器数量计算公式
热门文章
- 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 9
- onunload事件不触发的探索
- 为了“小命”,这款APP一定要下!火爆了!
- swoole中使用task进程异步的处理耗时任务
- Elastic:用Docker部署Elastic栈
- 一个匹配字字符串是aabbcc或者其他模式的运用
- canvas绘制流程图
- QT QNetworkAccessManager 如何支持RESTFul的HTTP Patch方法
- Gradle使用的简单了解
- [N久以前发布的文章]php 获取yahoo股票csv数据并封闭成为接口输出json数据