Linux Shell中特殊参数

『现学现忘』Shell基础 — 9、Bash的特殊符号 文章目录1、双单引号2、双引号3、`$`符号4、反引号5、`$( )`符号6、`#`符号7、`\`符号8、`( )`小括号9、`{ }`大括号(1)父Shell和子Shell(2)区分父shell子shell(3)查看父子shell的关系(4)父子shell的关系拓展。(5)小括号和大括号的区别10、`[ ]`中括号 1、双单引号 ' ':单引号。在单引号中所有的特殊符号,如$和" ` "(反引号)都没有特殊含义。 2、双引号 " ":双引号。在双引号中特殊符号都没有特殊含义,但是$、" ` "(反引号)和 阅读详情
Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义

在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:

位置参数:
详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版ABS都一样啦

$1, $2, $3等等...
位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
此数目可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制。
(具体见Example 4-5 和Example 11-15)
$0
$0表示当前执行的进程名,script 本身的名字,或者在正则表达式中表示整行输出

$#
命令行或者是位置参数的个数.(见Example 33-2)
$*
所有的位置参数,被作为一个单词.
注意:"$*"必须被""引用.
$@
与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,
并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.
注意:"$@"必须被""引用.

其他的特殊参数
$-
传递给脚本的falg(使用set 命令).参考Example 11-15.
显示shell使用的当前选项,与set命令功能相同
注意:这起初是ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不
能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交
互的).
$!
在后台运行的最后的工作的PID(进程ID).
$_
保存之前执行的命令的最后一个参数.
$?
命令,函数或者脚本本身的退出状态(见Example 23-7)
用于检查上一个命令,函数或者脚本执行是否正确。(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错。)
$$
脚本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.

注意事项:
[1] 当前运行的脚本的PID 为$$.
[2] "argument"和"parameter"这两个单词经常不加区分的使用.在这整本书中,这两个
单词的意思完全相同.(在翻译的时候就未加区分,统统翻译成参数)

退出和返回
退出状态(exit status)
函数返回一个被称为退出状态的值. 退出状态可以由return 来指定statement, 否则函数的
退出状态是函数最后一个执行命令的退出状态(0 表示成功,非0 表示出错代码). 退出状态
(exit status)可以在脚本中由$? 引用. 这个机制使脚本函数也可以像C 函数一样有一个"
返回值".
return
终止一个函数.return 命令[1]可选地带一个整数参数,这个整数作为函数的"返回值"返回
给调用此函数的脚本,并且这个值也被赋给变量$?.
Linux 中 Shell 脚本中普通参数传递、数组参数传递、特殊参数传递及基本运算等相关总结和实现 Linux 中 Shell 脚本中普通参数传递、数组参数传递、特殊参数传递及基本运算等相关总结和实现。 阅读详情

相关推荐

探针卡技术演进:从金线微针到MEMS探针的Wafer Sort革命

本文探讨了探针卡技术从传统金线微针到MEMS探针的演进,及其对晶圆测试(Wafer Sort)的革命性影响。随着芯片焊垫间距进入45微米以下,MEMS技术凭借其超高精度、超长寿命和卓越的信号完整性,成为应对高密度、高速及3D IC测试挑战的关键,显著提升了测试效率与稳定性。

lstm7chronicler的博客 365

最为详细的Docker入门总结+安装

docker

wuyongde0922的专栏 1533

保姆级教程:Win10/Win11系统下ArcGIS 10.2中文版完整安装与破解(含License Manager启动失败解决方案)

本文提供Windows 10/11系统下ArcGIS 10.2中文版的完整安装与破解教程,重点解决License Manager启动失败等常见问题。从安装准备、破解文件处理到最终配置验证,详细指导用户完成每一步操作,确保软件正常运行。特别针对主机名修改、端口占用等疑难问题提供专业解决方案。

weixin_29596051的博客 550

docker学习笔记

1.Linux 安装docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun //脚本自动安装 2.docker容器,镜像,仓库理解 Docker镜像 1.是容器运⾏时的只读模板,可以是操作系统(windows/linux等), 软件运⾏环境(nginx/redis/rabbitmq等),⽤户程序(java程序等) 2.可理解为java的class类 class User{} Docker容器 1.容

java程序员的博客 401

超实用!用ChimeraX对AlphaFold 结果可视化(中): 蛋白结构美化篇

而一般需要的背景颜色是无色(白色),有三种方法可以更改背景颜色,这里我们介绍两种方法,第三种在下一小节中讲解。如果想选中蛋白链中的某一结构区域或者某些位点,可以用Ctrl+Shift+鼠标左键,或在软件窗口中点击。在这个窗口中可以对蛋白的主链、侧链、表面等颜色进行修改,只用在。,即可在右下角看到我们蛋白的序列信息,在这里面直接用鼠标选择要选择的结构域。就会有更多的颜色供我们选择,如果有特定的色号还可以在这个界面继续选择。后面的颜色(②),就可以选择想要的任何背景颜色(③)。就可以选择软件推荐的常用颜色。

m0_63153079的博客 5485

Unity——Scroll View 滑动居中、居中的放大、其他的缩小(支持横竖Scroll View)

一、效果 二、上代码,两种方式。 (第一种是在Update中用插值完成的,如果不想再项目中看到Update,下面的另一种改了一段用DoTween实现的,需要导入一下DoTween) using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using Unit...

SiReSo 7660

bash命令行积累

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels ht...

weixin_43526074的博客 316

CAPL自动化测试

通过本文的学习,读者应该对CAPL自动化测试有了初步的了解,并能够编写复杂的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1528

Bash shell中经常会见到一些比较特殊的符号

<br />Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:<br /><br />位置参数:<br />详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版ABS都一样啦<br /><br />$1, $2, $3等等...<br />位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.<br />此数目可以任意多,但只有前9个可以被访问,使用shift命令可以改变这个限制。<br />(具体见Example

大鱼的专栏 965

T507 buildroot linux4.9之RLT8211F 1000M以太网开发调试

调试T507的gmac,解决该RTL8211F 1000m以太网中调试遇到的问题

目前从事linux驱动开发,多交流多学习吧 688

PyTorch实战(14)——图注意力网络(Graph Attention Network,GAT)

本节介绍了图注意力网络 (Graph Attention Network, GAT) 在节点分类任务中的应用。相比图卷积网络 (GCN) 的平均聚合机制,GAT 通过引入注意力机制,能够为不同邻居节点分配差异化权重,从而更精准地捕捉图结构信息。实验表明,GAT 在 CiteSeer 数据集上的分类准确率达到 71.1%,较 GCN 提升 2.5 个百分点。可视化结果显示,GAT 学习到的节点表征具有更好的类别区分度。这验证了注意力机制在图数据建模中的有效性,为处理复杂图结构任务提供了更优解决方案。

盼小辉丶的博客 3564

Linux之shell中特殊参数的归纳整理

文章目录一、shell中特殊参数的归纳整理1.$变量名(位置参数)2.多个位置参数的传递引用3. $0 获取脚本文件的名字4. 单独获取脚本文件的路径和名称5. $#获取脚本传参的个数6.set设置位置参数(同命令脚本传参)7.==美元符 * 和美元符 @ 的区别== + ==函数的定义==+ ==for循环的定义==8.shfit 自动移动位置 一、shell中特殊参数的归纳整理 1.$变量名(...

weixin_43936969的博客 269

数字逻辑Fundamentals of Digital Logic with Verilog Design | 3rd Edition Solutins Chapter 3(step by step)

第三章3-1~3-27全部习题解析和代码模块

weixin_62651190的博客 1946

linux处理多个参数脚本,3个实例介绍shell脚本中几个特殊参数的用法

导读在本文中讨论的一些shell特殊参数是:$*,$@,$#,$$,$!示例1:使用 $*和$@ 来扩展位置参数本实例脚本中使用$*和$@参数:[root@localhost scripts]# vim expan.sh#!/bin/bashexport IFS='-'cnt=1# Printing the data available in $*echo "Values of \"\$*\":"...

weixin_34086714的博客 682

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux Bash Shell中的特殊参数含义

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34234823的博客 101

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

shell_40.Linux特殊参数变量

(1)特殊变量$#含有脚本运行时携带的命令行参数的个数。重要的是要注意,当命令行中没有任何参数时,$#的值即为 0,但${!#}会返回命令行中的脚本名。(4)显然,这种方法不管用。这说明不能在花括号内使用$,必须将$换成!

mmmmm168m的博客 277

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Linux Shell——bash shell 脚本简介

bash shell 脚本简介 shell 运行环境 如果你运行的是 Unix 或 Linux 系统,例如 Ubuntu,Red Hat,SUSE Linux,还有macOS,都是内置了 bash shell 的,所以你不需要额外配置所谓的开发环境。 我的 shell 环境是 macOS Sierra 版本,如果你用的是其他 Linux 系统,后面的例子基本上都是可以运行的。

zhaohongyan6的博客 279

Linux shell(4)-处理用户输入

1. 命令行参数 1.1 读取参数 位置参数变量是标准的数字:$0是程序名,$1是第 一个参数,$2是第二个参数,依次类推,直到第九个参数$9 如果脚本需要的命令行参数不止9个,你仍然可以处理,但是需要稍微修改一下变量名。在 第9个变量之后,你必须在变量数字周围加上花括号,比如${10}。 案例1: $ cat test4.sh #!/bin/bash # handling lots of parameters # total=$[ ${10} * ${11} ] echo The

Soul Blog 833

4 $ 符号

解密 $

偷偷学python的博客 586

linux shell教程、bash教程、shell脚本、bash脚本【教程】第九章:变量访问 内部变量(内建变量、位置参数、其他特殊参数)

原文:http://shouce.jb51.net/shell/第一章:Shell编程 第二章:Sha-Bang()开始第三章:特殊字符第四章. 变量和参数介绍第五章:引用与转义 第六章:退出和退出状态第七章:测试(if/then)、文件测试操作符、比较操作符(整数比较、字符串比较、混合比较)第八章:操作符(expr、let操作符、计算操作符、位操作符、逻辑操作符、逗号操作符、自定义进制BASE#NUMBER)影响Bash脚本行为的变量。 $BASH_ENV(Bash启动文件路径) 该环境变量保存一个,当启

Dontla的博客 1232

LINUX Shell命令中$0、$1-9、$#、$?、$*、$@、$!、$、$-、$IFS含义及举例

IFS是一个特殊变量,用于指定Shell脚本中的字段分隔符。字段分隔符是将一行输入或输出按照不同的字段拆分开来并存储在不同的变量中的标记。这是一个非常有用的用法,可以将一行以逗号或其他字符分隔的值按分隔符分成不同的变量,进一步处理这些变量值。的初始值为默认值(空格、制表符、换行符),该输入字符串以逗号分隔,然后按逗号分隔的方式打印每个值。是更加灵活和安全的选项,因为它可以独立处理每个参数,而不会将它们合并为单个字符串。,它使用$IFS变量来指定不同的分隔符,将一行输入按照分隔符分成不同的变量:。

whf1215847706的专栏 1761

Linux 有问必答:如何知道当前正在使用的 shell 是哪个?

Linux 有问必答:如何知道当前正在使用的 shell 是哪个? 问题: 我经常在命令行中切换 shell。是否有一个快速简便的方法来找出我当前正在使用的 shell 呢?此外,我怎么能找到当前 shell 的版本? 找到你当前正在使用的 Shell 版本 有多种方式可以查看你目前在使用什么 shell,最简单的方法就是通过使用 shell...

weixin_34323858的博客 606

linux shell编程 变量$#,$@,$0,$1,$2的含义解释

linux中shell变量$#,$@,$0,$1,$2的含义解释:  变量说明:  $$  Shell本身的PID(ProcessID)  $!  Shell最后运行的后台Process的PID  $?  最后运行的命令的结束代码(返回值)  $-  使用Set命令设定的Flag一览  $*  所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出

Gavin 1848

linux shell 处理用户输入

1.来自命令行惨

night_wisp的专栏 697
上一篇: 使用Bash中Complete自动补全命令
下一篇: Linux Shell中引号的用法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值