Linux shell传递参数实现原理及代码实例
Shell 传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……
以下实例我们向脚本传递两个参数,并分别输出,其中 $0 为执行的文件名:
特殊字符参数
$# 传递到脚本的参数个数
$* 以单个字符串形式显示所有传递到脚本的参数,如“1 2 3”
$$ 脚本运行的当前进程ID号
$! 后台运行的最后一个进程的ID号
$@ 以多个字符串形式显示所有传递到脚本的参数,如“1” “2” “3”
$- 显示Shell使用的当前选项,与set命令功能相同。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
$*和$@的区别
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
shell 使用数组作为函数参数的方法(详解)
因工作需要,需要使用shell开发一些小工具,当使用数组作为函数参数时,发现只能传递数组的第一个元素,数组后面的元素不能传递到函数内. #!/bin/bash function showArr(){ arr=$1 for i in ${arr[*]}; do echo $i done } regions=("GZ" "SH" "BJ") showArr $regions exit 0 把代码保存为test.sh后执行,只输出了第一个元素. ./t
-
Shell脚本传参数方法总结
一.接收固定长度的参数 复制代码 代码如下: [root@svn shell_example]# cat params.sh #!/bin/bash #传参测试脚本 echo "My name is `basename $0` -I was called as $0" echo "My first parameter is : $1" echo "My second parameter is : $2" 空参数执行 复制代码 代码如下: [roo
-
Shell脚本用for循环遍历参数的方法技巧
1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历 示例: #!/bin/bash number=65 #定义一个退出值 index=1 #定义一个计数器 if [ -z "$1" ];then #对用户输入的参数做判断,如果未输入参数则返回脚本的用法并退出,退出值65 echo "Usage:$0 + canshu" exit $number fi echo "listing args with \$*:" #在屏幕输入,在$*
-
一条命令让你明白shell中read命令的常用参数
我们知道,在Shell中接收传入的参数有两种方式.一种是通过脚本进行参数传递,另外一种是通过read来接收传入的参数.通过脚本来传递参数的简单示例如下: # 通过脚本来传递,这里$0指脚本名,$1为第一个参数,$2为第二个参数 [root@host ~]# ./script.sh 1 2 Total = 3 [root@host ~]# vim script.sh #!/bin/bash function add() { total=$(expr $1 + $2) echo -e "Total
-
对shell中常见参数及判断命令介绍
Shell常用特殊变量 经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢? 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同 $? 上个命令的退出状态,或函数的返回值.成功返回0,失败返回1 $$ 当
-
shell脚本之判断输入参数是否为整数值的实例
在写脚本时,通常会有很多关于命令行参数,变量等的判断其是否存在或者类型是否正确.当判断一个从命令行接收到一个值,需要判断其是否为整型值时,有以下两种方法: 1.用shell命令使其与某个整型值进行计算,通过$?来判断其是否是一个整型值. flag=true read -p "please input a number:" num while $flag do expr $num + 0 &>/dev/null [ $? -eq 0 ] && flag=fa
-
Shell脚本通过参数名传递参数的实现代码
平常在写shell脚本都是用$1,$2-这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护.Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取.下面的例子定义了短参数名和长参数名两种获取参数值的方式.其实是根据getopt提供的特性进行整理而来. #!/bin/bash while getopts i:o:p:s:t: OPT; do case ${OPT} i
-
Shell脚本中判断输入变量或者参数是否为空的方法
1.判断变量 复制代码 代码如下: read -p "input a word :" word if [ ! -n "$word" ] ;then echo "you have not input a word!" else echo "the word you input is $word" fi 2.判断输入参数 复制代码 代码如下: #!/bin/bash if [ ! -n "$1"
-
jupyter notebook 参数传递给shell命令行实例
我就废话不多说了,大家看代码吧! dataset = ["el","tv"] model = ["model"] stride = [32,64,256,512] for m in model: for d in dataset: for s in stride: print(f"{m} {d} {s}") c = f"tail -n3 N{m}_hp_emb{s}_adam_{d}_log_1.txt"
-
Linux shell传递参数实现原理及代码实例
Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推-- 以下实例我们向脚本传递两个参数,并分别输出,其中 $0 为执行的文件名: 特殊字符参数 $# 传递到脚本的参数个数 $* 以单个字符串形式显示所有传递到脚本的参数,如"1 2 3" $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 以多个字符串形式显示所有传递到脚本的参数
-
Linux shell实现压缩多个文件代码实例
Linux环境下写一个脚本 从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件: 1.首先介绍一下case语句格式 2.脚本如下: DEST读取的是压缩后文件的名称,COMP读取的是压缩的方式 给文件加权限: 创建三个文件: 执行脚本: 查看到压缩文件已经生成: 至此,脚本实现了压缩三个文件. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.
-
vue-router传递参数的几种方式实例详解
vue-router传递参数分为两大类 编程式的导航 router.push 声明式的导航 <router-link> 编程式的导航 router.push 编程式导航传递参数有两种类型:字符串.对象. 字符串 字符串的方式是直接将路由地址以字符串的方式来跳转,这种方式很简单但是不能传递参数: this.$router.push("home"); 对象 想要传递参数主要就是以对象的方式来写,分为两种方式:命名路由.查询参数,下面分别说明两种方式的用法和注意事项. 命名路由
-
java 对象参数去空格方式代码实例
这篇文章主要介绍了java 对象参数去空格方式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import java.lang.reflect.Field; import java.lang.reflect.Method; public class Test { /** * 去掉bean中所有属性为字符串的前后空格 * * @param bean * @throws Exception */ public static void bea
-
Android Activity之间相互调用与传递参数的原理与用法分析
本文实例讲述了Android Activity之间的相互调用与传递参数.分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与jsp之间的调用是通过重定向完成的,而在Android中,Activity与Activity之间的切换是通过Intent来完成的. 所谓Intent,它是Android中非常重要的内置组件,他可以理解为"我要干一件什么事情".在Android中有3大组件:Activity,Service.Broadcast,他们之间
-
用javascript取得传递参数的个数的代码
js取得传递参数的个数 function sum(a,b){ alert("实际传递的参数个数为:" + arguments.length); alert("计算结果为:" + (a+b)); } sum(1,2,3); alert("函数定义的参数个数为:" + sum.length); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
Springboot Session共享实现原理及代码实例
在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构图: 在这样的架构中,会出现一些单服务中不存在的问题,例如客户端发起一个请求,这个请求到达 Nginx 上之后,被 Nginx 转发到 Tomcat A 上,然后在 Tomcat A 上往 session 中保存了一份数据,下次又来一个请求,这个请求被转发到 Tomcat B 上,此时再去 Session中获取数据,发现没有
-
Linux gzip命令压缩文件实现原理及代码实例
gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为".gz". 再强调一下,gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件. gzip 命令的基本格式如下: [root@localhost ~]# gzip [选项] 源文件 命令中的源文件,当进行压缩操作时,指的是普通文件:当进行解压缩操作时,指的是压缩文件.该命令常用的选项及含义如表 1 所示. 表 1 gzip 命令常用选项
-
Android浮动窗口实现原理及代码实例
1.浮动窗口的实现原理 看到上图的那个小Android图标了吧,它不会被其他组建遮挡,也可以响应用户的点击和拖动事件,它的显示和消失由WindowManager直接管理,它就是Android浮动窗口.Android浮动窗口的实现主要是靠WindowManager这个类.通过WindowManager类的addView(),updateViewLayout(),removeView()这几个方法,我们可以直接在Window中添加,更新,移除View. 2.浮动窗口实现的具体步骤 1)既然浮动窗口的
-
Python彩色化Linux的命令行终端界面的代码实例分享
先看看效果: 在linux的终端中,ANSI转义序列来控制颜色 基本规则: 前面加上\033[,结尾用\033[0m重置为原来的颜色 可以在终端中输入下面这句,就可以看到输出绿色的hello. >>echo -e '\033[0;32mhello\033[0m' 其中0;32m控制颜色. 最简单的,只要把0;32m中的2改成0-7,就对应不同颜色了. 利用这点,在python中,可以这样来. #coding=utf-8 fmt = '\033[0;3{}m{}\033[0m'.format c
随机推荐
- PHP访问MySQL查询超时处理的方法
- 降低PHP Redis内存占用
- Datagram Scoket双向通信
- ASP.NET Core 导入导出Excel xlsx 文件实例
- C#常用的命名规则汇总
- mysql备份与恢复详解
- PHP5.4中json_encode中文转码的变化小结
- javascript实现一个数值加法函数
- JavaScript实现的一个计算数字步数的算法分享
- nodejs实现获取某宝商品分类
- 基于jQuery的ajax方法封装
- 狗年新年对联大全
- php_pdo 预处理语句详解
- javascript图片预加载完整实例
- 详解jQuery选择器
- jQuery获取对象简单实现方法小结
- bootstrap fileinput 上传插件的基础使用
- javascript asp教程第二课--转义字符
- 超精准的javascript验证身份证号的具体实现方法
- 用asp记录论坛用户密码(dvbbs,leadbbs等)