全网最快速的shell教程 变量(一)

在 Shell 编程中,变量是用于存储数据值的名称。

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

  • 只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 _,不能包含其他特殊字符。
  • 不能以数字开头: 变量名不能以数字开头,但可以包含数字。
  • 避免使用 Shell 关键字: 不要使用Shell的关键字(例如 if、then、else、fi、for、while 等)作为变量名,以免引起混淆。
  • 使用大写字母表示常量: 习惯上,常量的变量名通常使用大写字母,例如 PI=3.14。
  • 避免使用特殊符号: 尽量避免在变量名中使用特殊符号,因为它们可能与 Shell 的语法产生冲突。
today_time='2024'

1 .使用变量

使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

your_name="zzy"
echo $your_name
echo ${your_name}

其中,上述代码里的{}是可选的,为了区分变量的间隔

已定义的变量,可以被重新定义,如:

your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name 

这样写是合法的,但注意,第二次赋值的时候不能写$your_name="alibaba",使用变量的时候才加美元符($)。 

2 .只读变量

#!/bin/bash

myUrl="https://www.google.com"
readonly myUrl
myUrl="https://www.runoob.com"

readonly指定制度变量,后续对其进行了修改,会提示只读变量

3.删除变量

使用 unset 命令可以删除变量。语法:

unset variable_name 

变量被删除后不能再次使用。unset 命令不能删除只读变量。

#!/bin/sh

myUrl="https://www.runoob.com"
unset myUrl
echo $myUrl

 4.变量类型

Shell 支持不同类型的变量,其中一些主要的类型包括:

4.1字符串变量: 

在 Shell中,变量通常被视为字符串。你可以使用单引号 ' 或双引号 " 来定义字符串,例如:

my_string='Hello, World!'

或者

my_string="Hello, World!"

4.2整数变量: 

在一些Shell中,你可以使用 declare 或 typeset 命令来声明整数变量。这样的变量只包含整数值,例如:

declare -i my_integer=42 

declare -i 用于声明整数变量,这样的声明告诉 Shell 将 my_integer 视为整数,如果尝试将非整数值赋给它,Shell会尝试将其转换为整数,或者报错‘无效的运算符’

 4.3数组变量:

Shell 也支持数组,允许你在一个变量中存储多个值。数组可以是整数索引数组或关联数组,以下是一个简单的整数索引数组的例子:

 my_array=(1 2 3 4 5)

或者关联数组: 

#!/bin/bash

# 声明一个关联数组
declare -A fruits

# 添加键值对
fruits["apple"]="red"
fruits["banana"]="yellow"
fruits["grape"]="purple"

# 访问单个元素
echo "The color of apple is ${fruits["apple"]}"  # 输出: The color of apple is red

# 修改元素
fruits["apple"]="green"
echo "The new color of apple is ${fruits["apple"]}"  # 输出: The new color of apple is green

# 遍历所有键值对
for fruit in "${!fruits[@]}"; do
    echo "$fruit is ${fruits[$fruit]}"
done

# 输出:
# apple is green
# banana is yellow
# grape is purple

# 删除一个元素
unset fruits["banana"]
echo "After removing banana:"
for fruit in "${!fruits[@]}"; do
    echo "$fruit is ${fruits[$fruit]}"
done

# 输出:
# After removing banana:
# apple is green
# grape is purple

 4.4环境变量:

这些是由操作系统或用户设置的特殊变量,用于配置 Shell 的行为和影响其执行环境。例如,PATH 变量包含了操作系统搜索可执行文件的路径:

 echo $PATH

4.5特殊变量:

 有一些特殊变量在 Shell 中具有特殊含义,例如 $0 表示脚本的名称,$1, $2, 等表示脚本的参数。

$#表示传递给脚本的参数数量,$? 表示上一个命令的退出状态等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值