shell脚本 编程 变量 基本入门(详解)

CSDN 成就一亿技术人!

作者主页:点击!

Shell编程专栏:点击!

CSDN 成就一亿技术人

前言————

变量是Shell编程中非常重要的概念,它用于存储数据和信息。变量可以让我们在脚本中存储和使用各种数据,例如用户输入、命令输出、日期时间等。


目录

1.变量的定义

2.变量的引用

3.变量的类型

4.变量赋值

5.变量的运算

 基本运算符

自增自减

运算符优先级

字符串连接

expr 命令

let 命令

浮点数运算

6.变量的删除

补充知识


1.变量的定义

变量是由变量名和变量值组成,两者之间用符号(=)连接。

变量命名规则:

变量名只能包含字母(a-z,A-Z)、数字(0-9)和下划线(_)。

变量名不能以数字开头。

避免使用Shell保留关键字,如if、while等。(命名时希望大家用实际意义上的作用来命名。)

#定义一个变量
name="zhangsan"

#定义一个数字变量
age=2


#定义一个日期变量
date="2024-3-1 15:18:58"

2.变量的引用

使用$符号来引用变量的值

# 输出变量值
echo $name
# 输出结果:zhangsan

echo $age
# 输出结果:2

echo $date
# 输出结果:2024-3-1 15:18:58

3.变量的类型

1.字符串变量:存储文本数据

2.数字变量:存储数字数据

3.数组变量:存储多个值

4.环境变量:在所有Shell中都可以使用的变量

5.位置参数变量:脚本或函数中,可以通过 $1, $2, ... 等方式引用传递给脚本或函数的参数。$0 表示脚本的名称,$# 表示传递给脚本或函数的参数个数,$@ 表示所有参数的列表。

4.变量赋值

# 直接赋值
name="hello"

# 命令输出赋值
age=`date +%Y`

# 变量替换
today=`date +%Y-%m-%d`
echo "今天是 $today"
# 输出结果:今天是 2024-03-01

5.变量的运算

Shell支持对变量进行简单的数学运算,例如加减乘除等。

 基本运算符
运算符含义
+加法
-减法
*乘法
/除法
%取余
#声明变量
[root@localhost ~] num1=10
[root@localhost ~] num2=20

#加法
[root@localhost ~] sum=$((num1+num2))
[root@localhost ~] echo $sum
30
#减法
[root@localhost ~] jian=$((num2-num1))
[root@localhost ~] echo $jian
10
#乘法
[root@localhost ~] cheng=$((num1*num2))
[root@localhost ~] echo $cheng
200
#除法
[root@localhost ~] chu=$((num2/num1))
[root@localhost ~] echo $chu
2
#求余
[root@localhost ~] yu=$((num2%num1))
[root@localhost ~] echo $yu
0
自增自减
运算符含义
++自增
--自减
[root@localhost ~] num=10
[root@localhost ~] echo $num
10
[root@localhost ~] ((num++))
[root@localhost ~] echo $num
11
[root@localhost ~] echo $num
11
[root@localhost ~] ((num++))
[root@localhost ~] echo $num
12
[root@localhost ~] ((num--))
[root@localhost ~] echo $num
11
[root@localhost ~] ((num--))
[root@localhost ~] echo $num
10
运算符优先级

Shell运算符的优先级与C语言相同。

# 运算符优先级
num1=10
num2=20
result=$((num1 + num2 * 2))
echo "result = $result"
# 输出结果:result = 50
字符串连接
str1="Hello"
str2="World"
echo "$str1 $str2"
# 输出结果:Hello World
expr 命令

命令用于进行表达式求值字符串操作

[root@localhost ~] num1=10
[root@localhost ~] num2=20
[root@localhost ~] sum=$(expr $num1 + $num2)
[root@localhost ~] echo $sum
30
let 命令

let 命令也用于执行算术运算,并且它允许在表达式中使用变量名而不需要 $ 符号。

let "result = a + b"

[root@localhost ~] let "sum= sum +num1"
[root@localhost ~] echo $sum
40
浮点数运算

Shell本身对浮点数运算支持较差,通常需要借助外部工具如bc(计算器)。

[root@localhost ~] sum=$(echo "$a + $b" | bc)
[root@localhost ~] echo $sum
2.8

6.变量的删除

使用unset命令删除变量。

# 删除变量
unset name
echo $name
# 输出结果:空白


unset age
echo $age

# 输出结果:空白

补充知识

获取环境变量

使用env命令获取所有环境变量的列表。

# 获取环境变量
env

设置环境变量

使用export命令将变量导出为环境变量。

# 设置环境变量
export name

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 24
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

神秘泣男子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值