我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

上节我们讲到了 $n,它是特殊变量的一种,用来接收位置参数。本节我们继续讲解剩下的几个特殊变量,它们分别是:$#、$*、$@、$?、$$。

Shell 特殊变量及其含义

变量 含义
$0 当前脚本的文件名。
$n(n≥1) 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同,我们将在《Shell $*和$@的区别》一节中详细讲解。
$? 上个命令的退出状态,或函数的返回值,我们将在《Shell $?》一节中详细讲解。
$$ 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。

下面我们通过两个例子来演示。

1) 给脚本文件传递参数
编写下面的代码,并保存为 test.sh:


#!/bin/bash
echo "Process ID: $$"
echo "File Name: $0"
echo "First Parameter : $1"
echo "Second Parameter : $2"
echo "All parameters 1: $@"
echo "All parameters 2: $*"
echo "Total: $#"

运行 test.sh,并附带参数:

[mozhiyan@localhost demo]$ . ./test.sh Shell linux
Process ID: 5943
File Name: bash
First Parameter : Shell
Second ParLIIgRUameter : Linux
All parameters 1: Shell Linux
All parameters 2: Shell Linux
Total: 2

2) 给函数传递参数

编写下面的代码,并保存为 test.sh:


#!/bin/bash
#定义函数
function func(){
  echo "Language: $1"
  echo "URL: $2"
  echo "First Parameter : $1"
  echo "Second Parameter : $2"
  echo "All parameters 1: $@"
  echo "All parameters 2: $*"
  echo "Total: $#"
}
#调用函数
func java http://c.biancheng.net/java/

运行结果为:
Language: Java
URL: http://c.biancheng.net/java/
First Parameter : Java
Second Parameter : http://c.biancheng.net/java/
All parameters 1: Java http://c.biancheng.net/java/
All parameters 2: Java http://c.biancheng.net/java/
Total: 2

到此这篇关于Shell特殊变量(Shell $#、$*LIIgRU、$@、$?、$$)的使用的文章就介绍到这了,更多相关Shell特殊变量内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

上节我们讲到了 $n,它是特殊变量的一种,用来接收位置参数。本节我们继续讲解剩下的几个特殊变量,它们分别是:$#、$*、$@、$、$$。 Shell 特殊变量及其含义变量含义$0当前脚本的文件名。$n(n≥1)传递给脚本或函数的参数
2022-06-04

Shell特殊变量Shell $#、$*、$@、$?、$$用法是什么

这篇文章主要介绍“Shell特殊变量Shell $#、$*、$@、$?、$用法是什么”,在日常操作中,相信很多人在Shell特殊变量Shell $#、$*、$@、$?、$用法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
2023-06-09

如何正确的使用Shell特殊变量

本篇文章为大家展示了如何正确的使用Shell特殊变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Shell 特殊变量及其含义变量含义$0当前脚本的文件名。$n(n≥1)传递给脚本或函数的参数。n
2023-06-06

Shell全局变量、局部变量与特殊变量的具体使用

目录1、全局变量(环境变量):2、局部变量(本地变量):3、关于局部变量的其它一些问题4、Shell的特殊变量:变量类型:全局变量(环境变量)和局部变量(本地变量)环境变量可以在定义它们的shell及其派生出来的任意子进程的shell中使用
2023-05-06

Shell常用的特殊位置参数变量说明

$0 获取当前执行的shell脚本的文件名,如果执行脚本包含了路径,那么就包括脚本路径$n 获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名;如果n大于9,则用大括号括起来,例如${10},接
2023-06-06

Shell编程中的特殊变量之位置变量介绍

1、$0 获得当前脚本的文件名,包括路径。#写一个测试脚本vim test.sh#内容如下dirname$0basename$0#执行一下bash$(pwd)/test.sh#输出如下/home/janetest.sh2、$n 获取当前执行
2022-06-04

Shell编程之特殊变量和扩展变量详解

特殊变量在Shell中的特殊变量主要分别两种位置参数变量、状态变量两种。 位置参数变量Shell中的位置参数变量主要是指0、0、1、$#等,主要用于从命令行、函数或脚本执行等地方传递参数。详细说明如下所示:$0:获取当前执行的Shell脚本
2022-06-04

Shell编程中特殊变量的示例分析

这篇文章给大家分享的是有关Shell编程中特殊变量的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。$0 $# $n-->$[1..9] $* $@1、在shell中存在着一些特殊而又重要的变如:$1 $0
2023-06-09

怎么在Shell中实现特殊变量和扩展变量

本篇文章为大家展示了怎么在Shell中实现特殊变量和扩展变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。特殊变量在Shell中的特殊变量主要分别两种位置参数变量、状态变量两种。位置参数变量Shel
2023-06-09

如何理解Shell编程中的特殊变量之位置变量

本篇内容介绍了“如何理解Shell编程中的特殊变量之位置变量”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、$0 获得当前脚本的文件名,包
2023-06-09

Shell编程中的特殊变量之进程状态变量介绍

进程状态变量 1、$$获取当前shell的进程号(PID) 2、$!执行上一个指令的PID 3、$获取执行上一个命令的返回值(0为成功,非零为失败,这个很常用) 4、$_在此之前执行的命令或脚本的最后一个参数cat> test$.shech
2022-06-04

如何理解Shell编程中的特殊变量之进程状态变量

本篇内容介绍了“如何理解Shell编程中的特殊变量之进程状态变量”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!进程状态变量1、$$获取当前s
2023-06-09

如何在Shell中使用特殊字符

这期内容当中小编将会给大家带来有关如何在Shell中使用特殊字符,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、;分号连续运行命令# ifdown eth0;ifup eth02、| 管道正则表达式中表
2023-06-09

Linux中如何使用shell下的特殊字符

这篇文章给大家分享的是有关Linux中如何使用shell下的特殊字符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、快速在目录之间切换。在Linux操作系统的文本模式下,在目录之间进行切换都需要通过命令来完成。
2023-06-17

Shell脚本中的位置变量参数(特殊字符)实例讲解

$# : 传递到脚本的参数个数 $* : 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个 $$ : 脚本运行的当前进程 ID号 $! : 后台运行的最后一个进程的进程 ID号 $@ : 与$#相同,但是使用时
2022-06-04

Shell中的变量使用小结

变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字 字母下划线.详见官方手册[root@svn shell_example]# yourname='Linux'[root@svn shell_example]# echo $you
2022-06-04

Shell中的变量使用总结

本篇内容主要讲解“Shell中的变量使用总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell中的变量使用总结”吧!变量的定义,只能以字母和下划线开始,区分大小写,可以包含数字 字母下划线
2023-06-09

shell中冒号的特殊用法分享

: ${VAR:=DEFAULT} 当变量VAR没有声明或者为NULL时,将VAR设置为默认值DEFAULT。如果不在前面加上:命令,那么就会把${VAR:=DEFAULT}本身当做一个命令来执行,报错是肯定的。
2022-06-04

Bash脚本中特殊变量$0的使用

目录1. 显示脚本的名称和路径2. 比较脚本的名称和路径3. 脚本自身的调试和测试结论在 Bash 脚本中,$0 是一个特殊变量,它代表当前脚本的路径和名称。这个变量用于表示脚本自身,它是 Bash 环境中的一个重要组成部分。$0 变量是一
2023-05-06

Linux中如何使用Shell变量

Linux中如何使用Shell变量,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、本地变量的使用 本地变量就如同局部变量一样,只在本SHELL中起作用。它不会
2023-06-17

编程热搜

目录