`
123003473
  • 浏览: 1064093 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

 
阅读更多
我们先写一个简单的脚本,执行以后再解释各个变量的意义
 
# touch variable
# vi variable
 
脚本内容如下:
 
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"

echo "show parm list:$*"
echo "show process id:$$"

echo "show precomm stat: $?"

保存退出
 
赋予脚本执行权限
 
# chmod +x variable
 
执行脚本
 
# ./variable aa bb
number:2
scname:./variable
first:aa
second:bb
argume:aa bb
show parm list:aa bb
show process id:24544
show precomm stat:0
 
通过显示结果可以看到:
 
$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

【转载地址】http://dadekey.blog.51cto.com/107327/119938
分享到:
评论

相关推荐

    浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    ### Linux Shell 变量$#,$@,$0,$1,$2的含义解释 在Linux操作系统中,Shell脚本是执行各种任务的重要工具之一。通过编写Shell脚本,我们可以自动化日常的任务处理过程,提高工作效率。在Shell脚本编程中,理解和掌握...

    解决ssh远程登陆linux显示-bash-4.1$的问题

    cp -pr /etc/skel/.bash* /home/test/ ... 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux系统下的区别说明linux让$变成#符号的实操方法linux中$符号的基础用法教程

    linux 特殊符号含义

    * `$*`:所有参数列表,以「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数 * `$@`:所有参数列表,以「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数 * `$#`:添加到 Shell 的参数个数 * `$0`:...

    linux 系统变量 PS1的简介.docx

    本文详细介绍了Linux系统中`PS1`变量的作用及其配置方法,并列举了常见特殊符号的含义。通过对`PS1`的合理配置,用户不仅能够获得更加个性化的命令行界面,还能提升工作效率。此外,了解其他提示符变量也有助于...

    linux一些标准的环境变量.docx

    在Linux操作系统中,环境变量扮演着非常重要的角色,它们是系统配置的基础之一,对于系统的正常运行至关重要。本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_...

    Ubuntu系统的Shell命令及脚本编程.pdf

    Shell 命令格式为:命令名 [选项] 参数 1 参数 2...,参数变量的表示方法为 $0-$9 和 ${大于 9 的数字},特殊变量的表示方法为 $#、$*、$@、$$ 和 $?。在 Shell 编程中,参数变量和特殊变量是非常重要的概念。 ...

    linux环境变量

    以下是Linux中常见的几个环境变量及其含义: 1. **PATH**:定义了Shell搜索命令或程序时会查找的目录列表。通常包含一些常用命令的路径,如`/bin`、`/usr/bin`等。 2. **HOME**:表示当前用户的主目录路径。 3....

    shell特殊变量

    Shell特殊变量在Linux和Unix系统中的使用是shell脚本编程中的关键组成部分,它们提供了一种方式来访问和处理脚本运行时的环境信息。这些变量不是由用户直接赋值的,而是由shell自动创建和维护的,具有特殊的含义和...

    Linux操作系统部分课后答案(第3版)

    - **0:** 关闭系统。 - **1:** 单用户模式,仅允许root用户登录。 - **2:** 多用户模式,但没有NFS服务。 - **3:** 完全多用户模式,是最常用的运行级别。 - **4:** 保留级别,通常未定义或留作特定用途。...

    linux下工具GUN MAKE

    ### GNU Make 在 Linux 下的相关知识点 #### 一、概述与基础概念 GNU Make 是一个功能强大的自动化构建工具,广泛应用于软件开发过程中。它通过读取一个名为 Makefile 的文件来了解项目的构建规则,并据此自动执行...

    Sams Teach Yourself Shell Programming in 24 Hours

    - 标准输入、输出、错误对应的文件描述符分别为0、1、2。 - 可以通过`exec`命令重新定向文件描述符。 - **重定向** - `从文件读取输入。 - `>` 将输出重定向到文件。 - `>>` 追加输出到文件末尾。 - **管道...

    linux脚本大全必看

    - **特殊变量类型**:如`$0`表示脚本名称,`$#`表示参数个数,`$*`表示所有参数等。 #### 3. 引用与转义 - **引用变量**:使用`$`符号来引用变量。 - **转义**:使用`\`字符可以取消特殊字符的特殊意义,如`\$`...

    Shell开发教程.docx

    Shell特殊变量:Shell$0,$#,$*,$@,$?,$$和命令行参数 **特殊变量介绍**: - `$0`:脚本文件名称。 - `$#`:传入脚本的参数个数。 - `$*` 和 `$@`:所有参数列表。 - `$$`:当前进程ID。 - `$?`:前一个命令的退出...

    Linux的Shell编程

    `$0`表示脚本本身的名字,`$*`和`$#`分别代表所有位置参数的值和数量。 5. **预定义变量**:预定义变量如`$?`(上一条命令的退出状态)、`$$`(当前进程ID)和`$!`(后台运行的最后一个进程ID)等,具有特殊含义,...

    linux下的shell与make

    - 示例: `test $count -gt 0`判断变量`$count`是否大于0。 - **if语句**: 用于条件判断。 - 示例: `if [ condition ]; then command-list; else command-list; fi`。 - **case语句**: 用于模式匹配。 - 示例: `...

    (ebook) Linux - Unix System Administration Handbook (Prentice Hall).pdf

    这部分内容详细介绍了Sendmail邮件系统中使用的规则集(Order)和配置文件(`sendmail.cf`)中的各种令牌(Token)及其含义。 ##### 2.1 Sendmail 规则集(Order) - **SENDMAILRULESETORDER**: 这个规则集定义了邮件处理...

    Shell脚本编程详解-吐血共享.docx

    上述过程中的$0 是一个内部变量,它是必须的,而$1 则可有可无,最常用的内部变量有$0、$#、$?、$*,它们的含义如下。 * $0:命令含命令所在的路径。 * $#:传递给程序的总的参数数目。 * $?:Shell 程序在 Shell 中...

    Linux常见问题分析(pdf文档)

    - 使用`&&`连接命令:`command1 && command2`: 如果`command1`成功则执行`command2`。 #### 58. 如何将grub安装到mbr - **方法**: - 使用`grub-install`命令。 #### 59. 安装时把grub(lilo)写到linux分区的...

    linuxshell脚本语言基础知识.pdf

    - 变量值可以包含在双引号或单引号中,双引号保留特殊字符的含义,而单引号中的特殊字符失去其特殊性。 - 可以使用`unset`命令删除变量。 此外,Shell还有一些特殊变量,它们提供了有关脚本执行状态和参数的信息: ...

    猪哥的嵌入式linux公房菜

    Linux下的各个目录的含义** - **/bin**:存放用户经常使用的命令。 - **/etc**:系统配置文件。 - **/home**:用户主目录。 - **/var**:变量数据存储位置。 - **/tmp**:临时文件。 - **/usr**:用户程序及相关...

Global site tag (gtag.js) - Google Analytics