shell之二:Shell的变量及特殊变量

Shell的变量

系统变量

1、查看前Shell中所有变量

[zhsj@cdh3 ~]$ set

2、查看系统变量的值

[zhsj@cdh3 ~]$ echo $HOME
/home/zhsj
[zhsj@cdh3 ~]$

自定义变量

语法

(1)定义变量:变量=值
(2)撤销变量:unset 变量
(3)声明静态变量:readonly变量,注意:不能unset
(4)把变量提升为全局环境变量,可供其他Shell程序:export 变量名

变量定义规则

(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写
(2)等号两侧不能有空格
(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
(4)变量的值如果有空格,需要使用双引号或单引号括起来

特殊变量

$n

n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}

$#

获取所有输入参数个数,常用于循环

$*

命令行中所有的参数,$*把所有的参数看成一个整体

$@

命令行中所有的参数,把每个参数区分对待

$?

最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确了

$$

脚本运行的当前进程ID号

$!

后台运行的最后一个进程的ID号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Shell脚本,有一些特殊变量可以用来访问脚本的参数和其他信息。这些特殊变量包括: 1. `$0`:代表脚本的名称,即当前执行的脚本文件的名称。 2. `$1` ~ `$9`:代表脚本的第一个到第九个参数。例如,`$1`表示第一个参数,`$2`表示第二个参数,以此类推。 3. `$#`:代表脚本的参数个数。它表示传递给脚本的参数的数量。 4. `$*` 或 `$@`:代表所有的输入参数。`$*`将所有参数视为一个字符串,而`$@`将每个参数视为一个独立的字符串。 5. `$?`:代表上一个命令的退出状态。如果上一个命令成功执行,则该变量的值为0;如果上一个命令执行失败,则该变量的值为非0。 6. `$$`:代表当前Shell进程的进程ID(PID)。每个Shell进程都有一个唯一的PID,可以通过`$$`变量访问它。 这些特殊变量可以用于在脚本获取参数和执行命令后的结果,从而实现更灵活和动态的脚本编写。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [shell脚本变量-特殊变量](https://blog.csdn.net/m0_56642224/article/details/131221516)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [shell编程特殊变量](https://blog.csdn.net/weixin_44999258/article/details/126394754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值