shell 内部变量

shell的内部变量与环境变量相似,也是在shell执行前就定义的变量。所不同的是,用户只能根据shell的定义来使用这些变量,而不能重新定义他们。所有预定义变量都由$和另一个符号组成的,常用的shell预定义变量有:

shell 常用内部变量
$#位置参数的数量
$*所有位置参数的内容
$?命令执行后返回的状态。
$$当前进程的进程号
$!后台运行的最后一个进程号

 

 

 

 

$0  当前执行的进程名

$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
$ - 显示shell使用的当前选项,与set命令功能相同

其中,$?用于检查上一个命令是否执行正确(在linux中,命令推出状态为0,表示该命令正确执行,任何非0值表示命令出错)。

$$变量最常见的用途是做暂存文件的名字,以保证暂存的文件不会重复。

$1, $2, ...是位置参数,$1替换程序文件中的第一个参数,$2替换第二个,其他依次类推。

$0是一个特殊的变量,其内容是当前shell程序的文件名,所以$0不是位置参数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Shell ,可以使用以下语法来声明变量: ``` 变量名=变量值 ``` 其变量名是用户自定义的变量名称,变量值是该变量所存储的数据。例如: ``` name="John" ``` 这样就声明了一个名为 name 的变量,其值为 "John"。注意,变量名和变量值之间不能有空格。另外,Shell 变量默认为字符串类型。 ### 回答2: 在shell变量可以用来存储各种类型的数据,包括数字、字符串和其他特殊类型。声明变量的方式有以下几种: 1. 直接赋值:使用等号将变量名和值连接起来。例如,name="John"将创建一个名为name的变量并赋值为John。 2. 使用命令输出:将命令的输出结果赋值给变量。使用$(...)或`...`来引用命令。例如,current_date=$(date)将创建一个名为current_date的变量并将当前日期赋值给它。 3. 读取用户输入:使用read命令从用户那里读取输入并赋值给变量。例如,read name将提示用户输入,并将输入赋值给名为name的变量。 在声明变量后,可以通过在变量名前加上美元符号$来访问其值。例如,echo $name将打印出变量name的值。如果不加美元符号,则只是打印出变量名本身。 需要注意的是,shell变量是区分大小写的。因此,变量$name和变量$NAME是两个不同的变量。 此外,变量的值可以被重新赋值,并且同一个变量可以存储不同类型的数据。例如,name="John"后面又可以使用name=30将变量name的值从字符串更改为数值。 最后,在使用变量时,可以使用花括号{}来明确变量名的边界。这在变量名后面紧跟其他字符时尤其重要。例如,echo ${name}ing将打印出变量name后面加上ing的字符串。 总之,在shell,声明变量是一种非常有用的方式,可以将数据存储在内存,并在脚本使用。 ### 回答3: 在shell脚本,我们可以使用“=”符号来声明变量变量名和等号之间不能有空格。例如,我们可以使用以下语法声明一个变量: ``` variable_name=value ``` 其,variable_name是变量的名称,可以为任意字符串,但通常使用大写字母。value是变量的值,可以是数字、字符串或表达式。 例如,我们声明一个整数变量age,并给它赋值为25: ``` age=25 ``` 我们还可以在声明变量时进行字符串连接。例如: ``` name="John" greeting="Hello, "$name"!" echo $greeting ``` 在这个例子,我们声明了一个叫name的变量,并给它赋值为"John"。然后,我们使用字符串连接将name变量与"Hello, "和"!"拼接起来,并将结果赋值给greeting变量。最后,我们使用echo命令打印greeting变量的值,结果将会是"Hello, John!"。 在使用变量之前,我们需要在变量名前面加上$符号来引用它们的值。例如,可以使用以下语法来引用变量: ``` echo $variable_name ``` 这将会打印出变量的值。 需要注意的是,变量在声明时不需要指定类型,并且在使用时不需要使用关键字进行声明。此外,shell变量默认是全局可见的,可以在脚本的任何位置使用。但是,如果在函数内部声明一个变量,则该变量将为局部变量,只能在函数内部使用。 总之,通过使用“=”符号,可以在shell脚本声明变量并为其赋值。在使用变量时,我们可以引用它们的值,并进行各种操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值