Shell脚本中$0、$?、$!、$$、$*、$#、$@等符号的意义

2023-11-12

$0 : Shell本身的文件名
$! : Shell最后运行的后台进程PID
$$ : 当前脚本运行的进程PID
$? : 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$* : 所有参数列表。如"$*“用双引号引起来的情况、以”$1 $2 … $n"的形式输出所有参数,此选项参数可超过9个
$@ : 所有参数列表。如"$@“用双引号引起来的情况、以”$1" “$2” … “$n” 的形式输出所有参数
$# : 添加到Shell的参数个数
$- : 显示shell使用的当前选项,与set命令功能相同
$1~$n :添加到Shell的各参数值。$1是第1参数、$2是第2参数…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shell脚本中$0、$?、$!、$$、$*、$#、$@等符号的意义 的相关文章

  • 任何退出 bash 脚本但不退出终端的方法

    当我使用exitshell 脚本中的命令 该脚本将终止终端 提示符 有什么方法可以终止脚本然后停留在终端中吗 我的剧本run sh预计通过直接获取或从另一个脚本获取来执行 编辑 更具体地说 有两个脚本run2 sh as run sh ec
  • 使用 shell 脚本发送 HTML 邮件

    如何使用 shell 脚本发送 HTML 电子邮件 首先 您需要撰写消息 最低限度由这两个标头组成 MIME Version 1 0 Content Type text html 以及适当的消息正文 p Hello world p 获得后
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • 使用 systemctl 获取 systemd 进程的正常运行时间或停机时间?

    喜欢使用systemctl is active
  • 更新Linux中的包含路径

    我的 my path to file 文件夹中有几个头文件 我知道如何将这些文件包含在新的 C 程序中 但每次我都需要在包含它之前输入头文件的完整路径 我可以在linux中设置一些路径变量 以便它自动查找头文件吗 您可以创建一个 makef
  • 退出代码大于 255 — 可能吗?

    如果是 在哪个操作系统 shell 或其他操作系统上 考虑以下 Java 程序 我使用 Java 只是作为示例 任何语言都适合这个问题 这更多地与操作系统有关 public class ExitCode public static void
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • 关键字“if”如何测试一个值是真还是假?

    在 bash 脚本中 if 1 then echo Yes else echo No fi Output Yes 它表示 1 被视为真值 但在代码中 word Linux letter nuxi if echo word grep q le
  • Tomcat Intellij Idea:远程部署

    RackSpace 云服务器 Ubuntu 12 04 Intellij Idea 11 1 2 Windows 8 Tomcat 7 0 26 JDK 6 在 Intellij Idea 上 当我尝试在远程 Tomcat 7 服务器上运行
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win

随机推荐

  • 三、MySql 数据类型

    文章标题 Mysql数据类型 Int 类型 INT N 是什么 字符类型 排序规则 时间类型 前文 mysql权限 Mysql数据类型 Int 类型 有无符号 在项目中使用 BIGINT 而且是有符号的 演示 create table te
  • 网络编程——IO模型

    搭建select的TCP客户端 include
  • 100流明相当于多少w_20年前的100元,相当于现在的多少钱?说出来你可能不信

    最近 有网友提出一个问题 他说20年前的100元 相当于现在的多少钱 对此 专家们回答是 2000年我国GDP总量为1 2万亿美元 位居全球第六 到2019年 我国GDP已经高达14 3万亿美元 位居全球第二位 20年时间GDP增长了11
  • 汇编符号语言

    CSDN话题挑战赛第1期 活动详情地址 第1期话题PK赛 参赛话题 汇编知识分享 话题描述 我们的计算机知识就像一座金字塔 底层是数学 上面是数字电路 然后是汇编 再往上是操作系统 网络 数据库 高级编程语言 框架等等 我们不可能精通这个金
  • 前端项目uniapp小兔鲜儿微信小程序项目

    小兔鲜儿 项目起步 项目架构 项目架构图 拉取项目模板代码 项目模板包含 目录结构 项目素材 代码风格 模板地址 git clone http git itcast cn heimaqianduan erabbit uni app vue3
  • 由于找不到msvcp100.dll无法继续执行代码怎么解决

    当遇到程序无法正常运行 提示缺少msvcp100 dll文件时 最初的反应可能是困惑和不知所措 然而 通过修复msvcp100 dll文件 我发现这个问题实际上并不复杂 并且可以通过一些简单的步骤解决 在修复msvcp100 dll文件的时
  • k8s集群部署

    文章目录 1 二进制部署三节点 复用 高可用 k8s 集群 1 1 环境规划阶段 1 1 1 实验架构图 1 1 2 系统版本说明 1 1 3 环境基本信息 1 1 4 k8s 网段划分 1 2 基础安装及优化阶段 1 2 1 系统信息检查
  • mmsegmentation安装教程

    本文是基于Annconda下的安装教程 先要把Annconda安装好 安装好之后打开anaconda prompt控制面板 换成清华源 pip config set global index url https pypi tuna tsin
  • Python 第三方模块 绘图 Seaborn模块2

    四 可视化数据集的分布 1 直方图
  • linux打开网络摄像头失败,Opencv没有检测到linux上的firewire网络摄像头

    我通过firewire连接了一个凸轮 并尝试使用opencv访问它 相机在香菜中被检测到并且能够获得视频流 以下是我使用的代码 include home iiith opencv 2 4 9 include opencv cv h incl
  • JAVA循环使每次循环出来的都是四位数例如0001,0002,0003 三种实现方式

    问题描述 循环使每次循环出来的都是四位数例如0001 0002 0003 现在给出三种实现方式 第一种实现方式 public class temp1 public static void main String args for int i
  • enum枚举变量的用法

    Class Piece public typedef enum colorless white black pieceColor enum pieceColor colorless white black 首先声明一种枚举型变量 该变量的类
  • GB/T28181-2022针对H.265、AAC的说明和技术实现

    GB T28181 2022规范说明 GB T28181 2022相对来GB T28181 2016针对H 265 AAC的更新如下 更改了 联网系统通信协议结构图 媒体流通道增加了 H 265 G 722 1 AAC 见 4 3 1 20
  • 为Linux安装软件包时后面标注的arm,aarch到底是什么玩意儿以二进制安装docker-compose为例

    引言 装docker compose装不上 去github找二进制 看到这些版本人傻了 记录一下 如何确定自己的服务器应该安装哪个 Arch命令 arch 这个最简单 直接输出架构方式 aarch64 就是 ARM 架构 x86 64 就是
  • Spring注解家族介绍:@RestController

    前言 Spring Boot可以说是当前JAVA最为重要的一个框架 而Spring Boot的基石Spring中有着丰富的注解 因此我们会利用几篇文章来讲解我目前学到的各种注解 因此本类型文章的篇幅会比较短 主要着重于介绍各个注解 目录 前
  • GitHub十大Python项目推荐,Star最高26.4k

    编写 Python 代码的乐趣应该是看到简短 简洁 易读的类 这些类用少量清晰的代码来执行大量的操作 而不是那些让读者厌烦的大量琐碎代码 在相当长的一段时间内 世界各地的开发人员在他们的大多数项目中都倾向于使用 Python 编程语言的易用
  • C语言习题

    1 输入一个正整数 输出其逆数 例如输入12345 输出应为54321 2 计算1 2 3 n的值 n是从键盘输入的自然数 3 从终端 键盘 读入20个数据到数组中 统计其中正数的个数 并计算这些正数之和 4 从终端 键盘 将5个整数输入到
  • vue 看sass版本_看看不同的Sass架构

    vue 看sass版本 As the size and complexity of a project grows you require some sort of logic to structure your Sass files It
  • cloudfoundry简介

    cloudfoundry 负载均衡 对Router做负载均衡不属于Cloud Foundry的实现范围 Cloud Foundry只须保证所有Router都可以处理任何请求 而管理员可用DNS实现负载均衡 也可部署专用硬件来实现 或者简单点
  • Shell脚本中$0、$?、$!、$$、$*、$#、$@等符号的意义

    0 Shell本身的文件名 Shell最后运行的后台进程PID 当前脚本运行的进程PID 执行上一个指令的返回值 显示最后命令的退出状态 0表示没有错误 其他任何值表明有错误 所有参数列表 如 用双引号引起来的情况 以 1 2 n 的形式输