shell编程--变量

Shell中允许用户创建变量存储数据,环境变量如PWD、HOME、USERNAME等。创建新环境变量可通过`export`在`/etc/profile`中设置。用户自定义变量通常全大写,使用$引用。位置变量如$0、$1等表示命令行参数,$#是参数个数,$*和$@区别在于如何处理多个参数。预定义变量如$?给出前一命令的状态,$$表示进程ID。
摘要由CSDN通过智能技术生成

变量

shell中用户可以建立变量来存储数据,但不支持数据类型,变量名命名规则:数字、字母、下划线,不能以数字开头。

环境变量

当前shell的环境设置的一些变量

export—设置新的环境变量
env—显示所有环境变量
set—显示所有本地的shell变量
unset—清除环境变量**(高危)**

常见的环境变量:

PWD=/home/ghost-linux/shell — 当前路径(绝对路径)
HOME=/home/ghost-linux — 家目录
USERNAME=ghost-linux —用户名

创建一个新的环境变量:
在这里插入图片描述

  • 在文件中添加
    1. /etc/profile文件中,使用export创建环境变量
    2. 执行source /etc/profile使环境变量生效

用户自定义变量

​ 1、在shell编程中通常使用全大写变量,方便识别
​ 2、变量的使用:在变量前加$
​ 3、Linux Shell/bash从右向左赋值
​ 4、使用unset命令删除变量的赋值 unset 变量名
COUNT=1
​ 注意:
​ 1、无数据类型,默认为字符串
​ 2、“=”两边没有空格

位置变量 即 命令行参数

  • $0:与键入的命令行一样,包含脚本文件名

  • $1,...$9:分别包含第一个到第九个命令行参数

  • $#:包含命令行参数的个数

  • $@ / $*:包含所有命令行参数 ——>“$1....$9”,区别在于$*返回的是一个字符串整体,$@是以空格分开的字符串集

  • $?:包含前一个命令的退出状态

  • $$:包含正在执行进程的ID号

#! /bin/bash

echo this is '$0' = $0
echo '$1' = $1
echo '$2' = $2
echo '$#' = $#

echo '$@' = $@
echo '$*' = $*
echo '$$' = $$
echo '$?' = $?

在这里插入图片描述

预定义变量

​ 预定义变量和环境变量相类似,也是在shell一开始时就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成

  • $?:打印前一个命令的退出状态
  • $$:打印正在执行进程的ID号
  • $!:后台运行的最后一个进程的进程号(PID)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ghost_199503

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值