shell 脚本中 $$、$#、$? 分别代表什么意思?

2023-11-02

$0:这个程式的执行名字。
$n:这个程式的第 n 个参数值,n=1…9。
$*:这个程式的所有参数,此选项参数可超过 9 个。
$#:这个程式的参数个数。
$$:这个程式的 PID(脚本运行的当前进程 ID 号)
$!:执行上一个背景指令的 PID (后台运行的最后一个进程的进程 ID 号)
$?:执行上一个指令的返回值 (显示最后命令的退出状态。0 表示没有错误,其他任何值表明有错误)
$-:显示 shell 使用的当前选项,与 set 命令功能相同。
@ 跟 @ 跟@跟*类似,但是可以当作数组用

转载:shell 脚本中$$,$#,$?分别代表什么意思?_IChen.的博客-CSDN博客_shell中$#

(SAW:Game Over!)

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

shell 脚本中 $$、$#、$? 分别代表什么意思? 的相关文章

  • ANSI 转义码在行尾有奇怪的行为

    重现步骤 考虑以下 shell 命令 echo e e 41mTest nTest2 e 0mTest3 它打印Test并在下一行中Test2具有红色背景 使用 ANSI 转义码 Test2后面直接是Test3这是无色的 行为 第一次执行此
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • 是否有可能在linux中找到包含特定文本的文件?

    考虑这种情况 我在文件夹 Example 下有很多文件 如果我需要找到一个包含特定短语 如 Class Example 的文件 我该如何使用 Linux shell 来做到这一点 linux中有类似 定位 的函数可以做到这一点吗 Thank
  • 列出破折号中当前定义的函数?

    我想列出当前定义的函数dash 有什么办法可以做到这一点吗 我能想到的最接近的是type它可以用来测试一个函数是否存在 但除此之外我很困惑 附 我说的是dash在这里 不是bash or zsh 看看 exec c 似乎没有 没有 表是静态
  • 如何调用位于其他目录的Makefile?

    我正在尝试这样做 我想打电话给 make Makefile存在于其他目录中 abc可以使用位于不同目录中的 shell 脚本的路径 我该怎么做呢 由于 shell 脚本不允许我cd进入Makefile目录并执行make 我怎样才能编写she
  • 如何在 Xcode 4.2 中创建 Shell 脚本目标?

    我想知道是否有人知道 XCode 4 1 如何创建 shell 脚本 该选项不存在 但在最新版本中可能会被称为其他名称 塔 在导航器中选择您的项目 单击 添加目标 为空目标选择 聚合 添加构建阶段 gt 添加运行脚本 单击构建阶段并编辑运行
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • 如何通过 shell 脚本确定网页是否存在?

    我正在尝试制作一个程序 可以将一系列漫画扫描转换为一个 pdf 文件 并且我不想尝试下载图片来确定我是否有正确的网址 是否有一个 shell 脚本命令可以用来检查网页是否存在 在 NIX 下 您可以使用curl发出一个简单的HEAD要求 H
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • 如何执行“sudo nvm”?

    在我的 Mac 上 我想将一些需要 su 权限的包迁移到另一个节点版本 我使用 homebrew 安装 nvm 现在我需要执行 sudo nvm 或 reinstall packages将失败 me MacBook sudo nvm sud
  • 有没有办法让我简化这些回声? [复制]

    这个问题在这里已经有答案了 我仍在学习如何编写 shell 脚本 并且我面临着一个挑战 让我更容易回显 Name1 Name2 Name15 我不太确定从哪里开始 我已经想法 但如果我搞砸了 我不想看起来很傻 有什么帮助吗 我实际上还没有尝
  • 如何在 Windows 下向 .sh 脚本传递参数?

    我正在尝试在 Windows 下执行 sh 脚本 我安装了 Git 它允许我执行 sh 文件 但是 如果不使用 sh 作为执行前缀 我似乎无法传递任何参数 我的 sh 文件 echo Test 1 如果我用以下命令执行它 gt sh tes
  • shell-out 值到 md5(加密)函数

    我正在寻找一种解决方案 我正在构建 JSON 记录 并需要在 JQ 中生成一些文本 但将此文本通过管道传输到 MD5 求和函数并将其用作键的值 echo first John last Big jq id first last md5 通过
  • sh / Bash shell 脚本中 !# (bang-pound) 的含义是什么?

    我想了解这个 Scala 脚本是如何工作的 usr bin env bash exec scala 0 object HelloWorld def main args Array String println Hello world arg
  • 符合 POSIX 标准的 shell 相当于 Bash“while read -d $'\0' ...”?

    我正在尝试使 Bash 脚本严格符合 POSIX 标准 即消除任何潜在的 Bashisms http mywiki wooledge org Bashism 通过使用checkbashisms px script filename 在给定的

随机推荐

  • Jsp页面POST提交表单出现404

    项目场景 在IDEA里启动tomcat通过jsp页面访问servlet servlet映射的url通过注解设置为 login 问题描述 jsp页面里提交表单时 浏览器里出现如下的404提示信息 未找到 原因分析 在IDEA配置tomcat的
  • 并发编程笔记——多线程设计模式

    1 Single Threaded Execution模式 单线程执行模式 指 以 个线程执 该模式 于设置限制 以确保同 时间只能让 个线程执 处理 2 Immutable模式 不可变模式 存在确保实例状态不发 改变的类 在访问这些实例时
  • c++后台开发适合入坑吗?就业前景如何?

    一 什么是c 后台开发 c 后台开发也可以叫c 后端开发 其实从技术上来说并无不同 c 后台开发就是基于linux环境和C 语言的服务器程序开发 像qq服务器 微信服务器 王者荣耀服务器等等 虽然现在各种高级语言大火 但是在高性能这一块 c
  • 旧版本Druid回收连接引发的'recyle error'

    公司官网上的心跳交易不执行了 按理说是定时任务做的 怎么会不执行呢 遂去查看日志发现 ERROR 2018 09 25 20 30 37 933 AgtForwardServiceImpl java 31 转发数据推送异常 nested e
  • 学习Python的心得体会

    随着人工智能 大数据的火热 Python成为了广大科学家和普通大众的学习语言 在学习Python的过程中 我感到迷茫不知道自己该从什么地方入手 我在学习Python之前了解过这门语言 也知道Python有很多的学习方向 比如说数据采集方向
  • 【配置跑通Omni-Swarm(omni swarm:开源的多机器人协同SLAM算法)持续踩坑排雷更新中。。。】

    配置跑通Omni Swarm omni swarm 开源的多机器人协同SLAM算法 持续踩坑排雷更新中 旨在记录跑通Omni Swarm过程 踩坑排雷 文章目录 配置跑通Omni Swarm omni swarm 开源的多机器人协同SLAM
  • linux中.tar文件怎么解压

    linux中 tar文件怎么解压 1 打包压缩tar cvf etc tar app etc 打包 tar zcvf pack tar gz pack 打包压缩为一个 gz格式的压缩包 tar jcvf pack tar bz2 pack
  • 编写.gitignore文件

    有时候我们并不想要把一个项目都提交到git上 比如一个基于当前服务器的配置 当项目迁移到另一个服务器上时 这个配置相应变成了与另一个服务器相关的 如果在提交到git服务器时连同该配置一同提交 就很容易因为未及时修改而发生错误 这时候 就需要
  • 无约束最优化问题

    估计有些读者看到这个题目的时候会觉得很数学 和自然语言处理没什么关系 不过如果你听说过最大熵模型 条件随机场 并且知道它们在自然语言处理中被广泛应用 甚至你明白其核心的参数训练算法中有一种叫LBFGS 那么本文就是对这类用于解无约束优化算法
  • var模型matlab代码_VAR模型

    前言 说来话长 这是失败的实践 前几天有个比赛 其中数据处理部分 它给出了前很多年2G 3G 4G 总无线接入网络数据规模的数据 让预测2020年5G和总的 当时一看题就觉得要用时间序列模型 多元时间序列模型就想拿VAR练练手 但是因果检验
  • 接口测试工具Apifox 基础篇:数据传递与处理

    一 接口之间如何传递数据 1 使用场景 接口B请求参数依赖于接口A返回的数据 2 实现思路 2 1 接口A使用后置操作 gt 提取变量功能将请求完成后返回的数据提取作为变量 2 2 接口B对应的参数值直接引用前面设置的变量 3 使用示例 3
  • R语言学习:数据结构2-向量

    向量 vector 只能包含同一类型的对象 创建向量 向量的类型 命名 vector x lt vector character length 10 生成指定长度的空向量 x1 lt 1 4 x2 lt c 1 2 3 x3 lt c TR
  • Apple iOS MDM开发流程

    一年前曾参与一个企业移动平台项目 实现了通过MDM对iOS设备进行管理 由于苹果对于mdm这块的接口及开发流程只向几个合作伙伴进行了分享 并没有对具体实现的文档进行公开 所以这方面的资料非常少 现在把实现的过程分享给大家 希望能对大家有所帮
  • pandas常用功能与函数介绍(结合实例,持续更新)

    本文首先介绍Pandas常用功能及函数 最后通过实例举例说明 一 常用功能及函数简介 包导入 一般我们需要做如下导入 numpy和pandas一般需要联合使用 import pandas as pd import numpy as np 本
  • meethigher-JPA实体监听器-@EntityListeners

    参考文章JPA实体类监听器 EntityListeners注解使用实例 疯狂的蜗牛 CSDN博客 entitylisteners 本文源码 这也是来源于工作中的一个小需求 因为产品迭代时 需要给前端创建人 但是由于创建人是在操作记录的表里记
  • 【linux系统基础知识-Shell脚本学习笔记12-循环】

    12 1 循环说明解释 循环是可以使你多次执行一系列命令 循环包括 for循环 while循环 select循环 for do done while do done until do done 12 2 for循环 for循环使你对列表中的
  • 用TW8836驱动ST7701S TTL屏调试记录

    近段时间做一个项目 要调试3 2寸320x820分辨率的LCD 在此做下记录 屏规格书如上图 屏的主要接口如上图 1 查看屏的规格书 如图所示 需要8836和st7701s通讯 方式是3线SPI 2 通讯接口SDA SCK CS 3 RGB
  • zabbix搭建

    1 环境 本实验使用一台centos7主机 关闭了firewalld和selinux服务 zabbix版本为5 0版本 mysql使用版本为5 7版本 若要搭建6 0以上版本的zabbix 则需要使用mysql 8 0以上的版本 其它版本的
  • 微信公众号获取用户的openid

    公众号可获得关注者的OpenID 加密后的微信号 每个用户对每个公众号的OpenID是唯一的 对于不同公众号 同一用户的openid不同 公众号可通过本接口来根据OpenID获取用户基本信息 包括昵称 头像 性别 所在城市 语言和关注时间
  • shell 脚本中 $$、$#、$? 分别代表什么意思?

    0 这个程式的执行名字 n 这个程式的第 n 个参数值 n 1 9 这个程式的所有参数 此选项参数可超过 9 个 这个程式的参数个数 这个程式的 PID 脚本运行的当前进程 ID 号 执行上一个背景指令的 PID 后台运行的最后一个进程的进