linux系统shell 脚本中$*,$?的含义

Shell 脚本中 '$' 符号的多种用法 来源 : JackTian 杰哥的IT之旅 https://mp.weixin.qq.com/s/XBu7G-UxPs2dv6fsPXGq4w 通常情况下,在工作中用的最多的有如下几项: $0:Shell 的命令本身 $1 到 $9:表示 Shell 的第几个参数 $? :显示最后命令的执行情况 $#:传递到脚本的参数个数 $$:脚本运行的当前进程 ID 号 $*:以一个单字符串显示所有向脚本... 阅读详情

常用命令的使用

$0: 脚本本身文件名称
$1: 命令行第一个参数,$2为第二个,以此类推
$*: 所有参数列表
$@: 所有参数列表
$#: 参数个数
$$: 脚本运行时的PID
$?: 脚本退出码
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用
∗与@的区别
当命令行为test.sh 1 2 3
"$*"表示"1 2 3"
"$@"表示"1" "2" "3"
二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异
$()  等同于: ``(反引号):运行一段命令
$(()) 进行数字运算 
 a=3;b=2;c=5
 echo $((a+b*c))

执行结果

在这里插入图片描述

S4 codingblock增加客户化字段的一些小问题 今天使用codingblock增加了两个客户化字段后(S4版本),查看常用的几个表 ACDOCA BSEG 等等两个客户化字段安静的出现在表内,以为没有问题了 。结果后来MM那边查看物料凭证时程序直接dump,后来开发查明原因居然是因为财务增加的这两个增强字段的原因。 报错如下图所示: 主要是因为增加了字段后,更新了后台表,但是没有自动更新到视图。就是MSEG表增加了这两个字段,但是呢他对应的视图NSDM_V_MSEG没有增加,导致两边的结构不一致。 所以要解决这个问题,只能在视图NSDM_V_MSEG增 阅读详情

相关推荐

VConsole动态加载

// 移动端真机调试工具 vconsole import VConsole from "vconsole"; import Vue from "vue"; // 动态使用VConsole if(process.env.NODE_ENV==='production'){ if(process.env.VUE_APP_BASEURL.includes('test')||process.env.VUE_APP_BASEURL.includes('pre')){ Vue.prototype

aliven1的博客 1043

shell中$?代表什么意思

状态值是一个整数,它的取值范围通常为 0 到 255。其中,状态值为 0 表示命令执行成功,而非零状态值则表示命令执行失败或出现错误。具体的状态值取值含义可以根据不同的命令而有所不同,通常在命令的文档中会有相应的说明。是一个特殊的 shell 变量,用于存储上一个命令的执行状态。当一个 shell 命令执行完毕后,它会返回一个状态值,表示该命令执行的结果。变量会自动保存该状态值,以便后续的脚本代码可以根据该状态值来判断命令是否执行成功。变量是一个非常有用的变量,可以帮助您编写更加健壮和可靠的脚本代码。

m0_61003348的博客 2万+

OpenHarmony系统参数权限配置避坑指南:从param get/set失败到SELinux标签实战

本文深入解析OpenHarmony系统参数权限配置的常见问题与解决方案,涵盖DAC和SELinux双重权限控制机制。通过实战案例演示如何配置`param get/set`权限,解决'Permission denied'错误,并提供三方应用访问参数的安全方案,帮助开发者高效完成系统调试与优化。

weixin_27013291的博客 449

shell脚本中$#、$*、$@、$?、$0-n等含义一次性搞明白!!!

一、Shell脚本变量$#,$*等的含义 1、$#:表示执行脚本传入参数的个数 2、$*:表示执行脚本传入参数的列表(不包括$0) 3、$$:表示进程的id 4、$@:表示执行脚本传入参数的所有个数(不包括$0) 5、$0:表示执行的脚本名称 6、$1:表示第一个参数 7、$2:表示第二个参数 8、$?:表示脚本执行的状态,0表示正常,其他表示错误 二、$*和$@的差异 在shell中,$@和$*都表示命令行所有的参数(不包含$0),但是$*将命令行所有的参数看成一个整体,而$@则区分各

心情舒畅 3万+

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

Dofbot机械臂从零部署笔记(1)——ROS之创建URDF模型、配置Moveit和MotionPlanning

takedachia的博客 8697

Flutter框架GetX从入门到精通第二篇:路由管理-告别繁琐的Navigator

Flutter框架GetX从入门到精通第二篇:告别繁琐的Navigator。本系列将带你从零开始,一步步掌握 GetX 框架的核心功能与实战技巧。

鹏多多的博客 170

Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值代表意义

Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值代表意义

一个学习Java开发的老头 2430

QT+OSG/osgEarth编译之七十六:gltf+Qt编译(一套代码、一套框架,跨平台编译,版本:osgEarth-3.3插件库osgdb_gltf)

通过一套gltf代码和框架,实现osgdb_gltf跨平台编译。 在Qt环境下,集成头文件、库文件,构建跨平台编译的pro文件。 通过构建的一套配置工程,基于Qt Creator IDE,完成跨平台的编译实践。 在Windows、Linux、MacOS等操作系统上进行测试,成功编译,形成的成果(头文件、库文件等)可在不同系统下调用或使用,从而更好地构建跨平台解决方案。 采用的是osgEarth3.3版本。 读者可参考博客中的集成原理,构建不同版本的osgdb_gltf跨平台包。

LuckyHanMo的博客 1802

shell编程中$*和$@区别

$*和$@都表示传递给函数或脚本的所有参数,不被双引号“”包含时,都以$1 $2 …$n的形式输出所有参数。 [root@eshop-detail03 shell]# vi for.sh #!/bin/bash for i in $* do echo "ban zhang love $i " done for j in $@ do echo "ban zhang ...

mischen520的博客 8470

Docker:快速部署 Temporal 工作流引擎的技术指南

Temporal是一个开源的分布式工作流引擎,适用于复杂业务流程(如订单处理、支付流程等),提供状态持久化、自动重试、多语言SDK支持等特性。部署简单,支持Docker Compose,包含核心服务、Web UI及数据库。以TypeScript为例,开发者可快速编写工作流(如订单处理)和Worker,通过CLI或SDK启动和管理。Temporal简化了分布式系统的可靠性设计,适合电商、自动化任务等场景。

木头 641

获取iOS设备唯一标识UUID(Swift版)

属性返回的UUID是与应用程序相关联的,也就是说,如果用户卸载并重新安装应用程序,该UUID可能会发生变化。如果您需要一个与设备相关的持久唯一标识符,您可以考虑使用Keychain或其他方法来存储和检索设备标识符。在iOS开发中,我们经常需要获取设备的唯一标识符来进行一些特定的操作,比如设备识别、数据追踪等。在本文中,我将向您展示如何使用Swift编程语言获取iOS设备的唯一标识UUID。通过上述代码,您可以在您的iOS应用程序中轻松获取设备的唯一标识符。属性来获取设备的唯一标识UUID。

BitNetO的博客 1919

Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义

Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数

laogaoyunwei的博客 725

大模型LoRA微调调参的实战技巧(持续更新)

本文主要介绍了大模型LoRA微调调参的实战技巧,希望对学习大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 实战技巧

herosunly的博客 20万+

LINUX82 shell脚本变量分类;系统变量;变量赋值;四则运算;shell

$ 调用上一条命令参数!!调用最后一条命令$# 脚本后接的参数个数$* 脚本后面所有参数$@ 脚本后面所有参数$0 当前执行的进程名$1$2$9 位置参数变量。

czhc1140075663的博客 387

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Linux环境变量介绍

$ 符号在Linux系统里面用于获取一个变量的值, 例如: #!/bin/bash --------指定编译shell环境为bash STR="Hello World!"----设置STR的变量值为Hello World! echo $STR ------ 用echo命令读取STR变量的数值 1. $HOME这个代码是一个环境变量,它代表的是当前登录的用户的主文件夹(家目录) $HOME/...

Gavinmiaoc的博客 341

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Shell中$0、$1、$2、$?、$!、$$、$*、$#、$@的含义

$0 就是编写的shell脚本本身的名字 $1 是在运行shell脚本传的第一个参数 $2 是在运行shell脚本传的第二个参数 如:新建了一个shell脚本 test.sh #!/bin/sh echo "shell脚本名称: $0" echo "传到shell的第一个参数: $1" echo "传到shell的第二个参数: $2" wq保存, 要执行该sh文件,需要为test.sh文件添加可执行权限: chmod +x test.sh sh test.sh 2 3 执行结果: shell脚本名

小橙子的笔记屋 8879

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux bash shell 脚本,$0、$1、$2、$#、$@、$*、$? 等参数含义和用法

Linux bash shell 脚本

风雨雷电的专栏 1096

Shell中的$0、$1、$2、$3等表示什么意思?

在Shell脚本中,我们经常会看到$0、$1、$2、$3等,看着像是参数,但又不太像,这些究竟表示啥呢?其实非常简单: $0:你写的shell脚本本身的名字 $1:给你写的shell脚本传的第一个参数 $2:给你写的shell脚本传的第二个参数 #!/bin/sh echo "shell脚本本身的名字: $0" echo "传给shell的第一个参数: $1" echo "传给shell的第二个参数: $2" 假设该脚本名字叫test.sh,那么我们执行bash test.sh a 1,就可以看到结

weixin_39309402的博客 2万+

Bash技巧:介绍 $0、$1、$2、$#、$@、$*、$? 的含义

在编写 Linux bash shell 脚本时,经常会用到 $0、$1、$2、$#、$@、$*、$? 等参数,下面具体说明这些参数的含义。 假设执行./test.sh a b c这样一个命令,则可以使用下面的参数来获取一些值: $0对应 "./test.sh" 这个值。如果执行的是 ./work/test.sh, 则对应 ./work/test.sh 这个值,而不是只返回文件名本身的部分。 $1会获取到 a,即 $1 对应传给脚本的第一个参数。 $2会获取到 b,即 $2 对应...

一口Linux的专栏 1万+

shell脚本中$0,$1,$2的含义

我们经常见到shell脚本中使用的$0,$1,$2,分别的意思就是: $0:是指你所写的shell脚本本身的名字; $1:是指你写的shell脚本所传入的第一个参数 ; $2:是指你写的shell脚本所传入的第二个参数 结果如下: command not found 是因为我在windows文本编辑好,复制过去的 windows换行符是/r/n ,linux是/n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。 ...

footbridge的博客 2万+

linux命令下 $的含义,shell脚本中$#、$0等的含义

1、Shell脚本变量$#,$*等的含义1、$#表示执行脚本传入参数的个数2、$*表示执行脚本传入参数的列表(不包括$0)3、$$表示进程的id4、$@表示执行脚本传入参数的所有个数(不包括$0)5、$0表示执行的脚本名称6、$1表示第一个参数7、$@表示第二个参数8、$?表示脚本执行的状态,0表示正常,其他表示错误例子:#!/bin/bashprintf "the process id is %...

weixin_30478241的博客 5007

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

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

whf1215847706的专栏 1761

linux中shell变量$#,$@,$0,$1,$2的含义解释/Shell中的${}、##和%%使用范例

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

智能硬件研发,欢迎交流 3796

Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义以及linux命令执行返回值意义

(1) Shell脚本中$0、$?、$!、$$、$*、$#、$@等的意义说明 1.1、简要说明 ps: 你在Linux环境下多试下就明白了 $$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号) $? 最后运行的命令的结束代码(返回值)即执行上一个指...

JacksonKing的专栏 844
上一篇: Python在linux环境下的安装
下一篇: sql题:每个网站访问top3 的用户
keepHungery
博客等级 码龄8年 115粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值