我们先写一个简单的脚本,执行以后再解释各个变量的意义
# touch variable
# vi variable
脚本内容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
echo "show parm list:$*"
echo "show process id:$$"
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
scname:./variable
first:aa
second:bb
argume:aa bb
show parm list:aa bb
show process id:24544
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脚本是执行各种任务的重要工具之一。通过编写Shell脚本,我们可以自动化日常的任务处理过程,提高工作效率。在Shell脚本编程中,理解和掌握...
cp -pr /etc/skel/.bash* /home/test/ ... 您可能感兴趣的文章:浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释php $_SERVER windows系统与linux系统下的区别说明linux让$变成#符号的实操方法linux中$符号的基础用法教程
* `$*`:所有参数列表,以「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数 * `$@`:所有参数列表,以「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数 * `$#`:添加到 Shell 的参数个数 * `$0`:...
本文详细介绍了Linux系统中`PS1`变量的作用及其配置方法,并列举了常见特殊符号的含义。通过对`PS1`的合理配置,用户不仅能够获得更加个性化的命令行界面,还能提升工作效率。此外,了解其他提示符变量也有助于...
在Linux操作系统中,环境变量扮演着非常重要的角色,它们是系统配置的基础之一,对于系统的正常运行至关重要。本文将详细介绍几个常见的Linux环境变量,包括`SHELL`、`LANG`、`PATH`、`MANPATH`、`INPUTRC`、`BASH_...
Shell 命令格式为:命令名 [选项] 参数 1 参数 2...,参数变量的表示方法为 $0-$9 和 ${大于 9 的数字},特殊变量的表示方法为 $#、$*、$@、$$ 和 $?。在 Shell 编程中,参数变量和特殊变量是非常重要的概念。 ...
以下是Linux中常见的几个环境变量及其含义: 1. **PATH**:定义了Shell搜索命令或程序时会查找的目录列表。通常包含一些常用命令的路径,如`/bin`、`/usr/bin`等。 2. **HOME**:表示当前用户的主目录路径。 3....
Shell特殊变量在Linux和Unix系统中的使用是shell脚本编程中的关键组成部分,它们提供了一种方式来访问和处理脚本运行时的环境信息。这些变量不是由用户直接赋值的,而是由shell自动创建和维护的,具有特殊的含义和...
- **0:** 关闭系统。 - **1:** 单用户模式,仅允许root用户登录。 - **2:** 多用户模式,但没有NFS服务。 - **3:** 完全多用户模式,是最常用的运行级别。 - **4:** 保留级别,通常未定义或留作特定用途。...
### GNU Make 在 Linux 下的相关知识点 #### 一、概述与基础概念 GNU Make 是一个功能强大的自动化构建工具,广泛应用于软件开发过程中。它通过读取一个名为 Makefile 的文件来了解项目的构建规则,并据此自动执行...
- 标准输入、输出、错误对应的文件描述符分别为0、1、2。 - 可以通过`exec`命令重新定向文件描述符。 - **重定向** - `从文件读取输入。 - `>` 将输出重定向到文件。 - `>>` 追加输出到文件末尾。 - **管道...
- **特殊变量类型**:如`$0`表示脚本名称,`$#`表示参数个数,`$*`表示所有参数等。 #### 3. 引用与转义 - **引用变量**:使用`$`符号来引用变量。 - **转义**:使用`\`字符可以取消特殊字符的特殊意义,如`\$`...
Shell特殊变量:Shell$0,$#,$*,$@,$?,$$和命令行参数 **特殊变量介绍**: - `$0`:脚本文件名称。 - `$#`:传入脚本的参数个数。 - `$*` 和 `$@`:所有参数列表。 - `$$`:当前进程ID。 - `$?`:前一个命令的退出...
`$0`表示脚本本身的名字,`$*`和`$#`分别代表所有位置参数的值和数量。 5. **预定义变量**:预定义变量如`$?`(上一条命令的退出状态)、`$$`(当前进程ID)和`$!`(后台运行的最后一个进程ID)等,具有特殊含义,...
- 示例: `test $count -gt 0`判断变量`$count`是否大于0。 - **if语句**: 用于条件判断。 - 示例: `if [ condition ]; then command-list; else command-list; fi`。 - **case语句**: 用于模式匹配。 - 示例: `...
这部分内容详细介绍了Sendmail邮件系统中使用的规则集(Order)和配置文件(`sendmail.cf`)中的各种令牌(Token)及其含义。 ##### 2.1 Sendmail 规则集(Order) - **SENDMAILRULESETORDER**: 这个规则集定义了邮件处理...
上述过程中的$0 是一个内部变量,它是必须的,而$1 则可有可无,最常用的内部变量有$0、$#、$?、$*,它们的含义如下。 * $0:命令含命令所在的路径。 * $#:传递给程序的总的参数数目。 * $?:Shell 程序在 Shell 中...
- 使用`&&`连接命令:`command1 && command2`: 如果`command1`成功则执行`command2`。 #### 58. 如何将grub安装到mbr - **方法**: - 使用`grub-install`命令。 #### 59. 安装时把grub(lilo)写到linux分区的...
- 变量值可以包含在双引号或单引号中,双引号保留特殊字符的含义,而单引号中的特殊字符失去其特殊性。 - 可以使用`unset`命令删除变量。 此外,Shell还有一些特殊变量,它们提供了有关脚本执行状态和参数的信息: ...
Linux下的各个目录的含义** - **/bin**:存放用户经常使用的命令。 - **/etc**:系统配置文件。 - **/home**:用户主目录。 - **/var**:变量数据存储位置。 - **/tmp**:临时文件。 - **/usr**:用户程序及相关...