文档章节

Bash脚本输入参数的使用

陶小陶
 陶小陶
发布于 09/26 12:37
字数 425
阅读 34
收藏 0

Bash脚本输入参数的使用

Bash脚本传入的参数,在脚本中以位置的形式进行访问,即 $n 。例如,$1 为执行脚本的第一个参数,$2 为执行脚本的第二个参数。另外Bash中还提供了一些其它的便捷操作以符号的形式表现。具体内容和含义见下表:

参数处理说明
$#传递到脚本的参数个数
$*以一个单字符串显示所有向脚本传递的参数,如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$$脚本运行的当前进程ID号
$!后台运行的最后一个进程的ID号
$@与$*相同,但是使用时加引号,并在引号中返回每个参数,如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$-显示Shell使用的当前选项,与set命令功能相同。
$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

事例代码如下:

# !/usr/bin/env bash
# -*- coding: utf-8 -*-
#
# 打印输入的参数
#

if [[ $#<=0 ]]; then
	echo "command=>$0, no parameters"
	exit 1
fi

echo $@

pos=1
for para in "$@"; do
	eval val=$(echo \$${pos})
	echo "command=>$0, position=>${pos}, value=>${val}"
	echo $(( pos++ )) >/dev/null
done

上述代码执行结果如下: bash参数打印测试结果

© 著作权归作者所有

共有 人打赏支持
上一篇: GCC内联汇编简介
下一篇: Bash脚本语法泛述
陶小陶
粉丝 1
博文 30
码字总数 43885
作品 0
深圳
程序员
私信 提问
Linux0基础深度解析shell简介01

一、shell简介 ------------ 用户 | 终端 (相当于bash的接口) | shell(壳) bash 大多数Linux系统默认的shell环境 | 内核 用户通过终端输入命令,提交给shell,再调用内核中的系统功能对命...

木玛by
2017/11/17
0
0
Linux shell 程序设计1——安装及入门

1、什么是shell? shell是linux内核的“壳”,是用户和内核的桥梁。它类似于windows下的命令提示符,将用户输入的命令解释给内核执行,并返回给用户结果。与windows命令提示符不同的是,she...

宅蓝三木
2014/04/24
0
0
linux read 用法

linux read 用法 1、基本读取 read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是 read命令 的最简单形式:: ...

Oscarfff
2016/04/06
8
0
认识bash 这个Shell

Shell :将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。 Shell 本身是一个用C语言编写的程序,用户的大部分工作都是通过Shell来完成的。 Shell的功能只是提供用户操作...

Tanswer_
2016/06/06
0
0
3-unit12 脚本2

###########Bash脚本条件判断和控制流结构######## **Bash位置参数和退出状态 **条件判断和控制流结构 #####Bash位置参数###### 有两种简单的方法可以将用户输入读入bash中的变量。第一个方法...

cuijb0221
2017/06/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
20分钟前
0
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
36分钟前
2
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部