1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > shell脚本编程学习笔记2(xdl)——Bash变量

shell脚本编程学习笔记2(xdl)——Bash变量

时间:2023-09-19 07:13:03

相关推荐

shell脚本编程学习笔记2(xdl)——Bash变量

shell脚本编程学习笔记2——Bash变量

1,变量简介

1,计算机内存单元2,设置规则字母数组下划线组成,不能以数字开头Bash中,默认类型字符串型,变量类型可修改

2,Bash变量规则

1,变量用等号连接值,等号左右两侧不能有空格。 (Linux中空格代表命令之间的区分)2,变量的值如果有空格,需要使用单引号或双引号包括。3,在变量的值中,可以使用“\”转义符4,如果需要变量拼接,那么可以进行变量值的叠加。不过变量需要用双引号包含 “$变量名”或用${变量名}包含。 5,如果是把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令6,环境变量名建议大写,便于区分

3,变量分类

1,用户自定义变量,保存环境当前shell2,环境变量,主要保存和系统操作环境相关数据3,位置参数变量,主要用来向脚本传递数据,不可自定义,作用固定4,预定义变量,Bash中定义好的变量,变量名不可自定义,作用固定

1,用户自定义变量

1,简介

在本地定义的变量,只适用于当前shell

2,简单实例:

[root@iZwz9h901rvv69020rk7fsZ sh]# name="dun huang"[root@iZwz9h901rvv69020rk7fsZ sh]# echo "$name"dun huang[root@iZwz9h901rvv69020rk7fsZ sh]# name="$name"' de tuo ling'[root@iZwz9h901rvv69020rk7fsZ sh]# echo "$name"dun huang de tuo ling[root@iZwz9h901rvv69020rk7fsZ sh]#

3,操作:

变量调用 [root@localhost ~]# echo $name变量查看 [root@localhost ~]# set变量删除 [root@localhost ~]# unset name

2,环境变量

1,简介

用户自定义变量只在当前的Shell中生效, 而环境变量会在当前Shell和这个Shell的所 有子Shell当中生效。如果把环境变量写入 相应的配置文件,那么这个环境变量就会 在所有的Shell中生效

2,设置

export 变量名=变量值# 申明变量env # 查询变量unset 变量名 # 删除变量注意:系统常见环境变量1,$PATH[root@localhost ~]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin: /sbin:/bin:/usr/sbin:/usr/bin:/root/bin2,PS1PS1:定义系统提示符的变量 \d:显示日期,格式为“星期 月 日” \h:显示简写主机名。如默认主机名“localhost” \t:显示24小时制时间,格式为“HH:MM:SS” \T:显示12小时制时间,格式为“HH:MM:SS” \A:显示24小时制时间,格式为“HH:MM” \u:显示当前用户名 \w:显示当前所在目录的完整名称 \W:显示当前所在目录的最后一个目录 \#:执行的第几个命令 \$:提示符。如果是root用户会显示提示符为“#”,如果是普通用户 会显示提示符为“$

3,实例

[root@localhost ~]# PS1='[\u@\t \w]\$ ' [root@04:50:08 /usr/local/src]#PS1='[\u@\@ \h \# \W]\$‘ [root@04:53 上午 localhost 31 src]#PS1='[\u@\h \W]\$ '

3,位置参数变量

1,简介

$nn为数字,$0代表命令本身,$1-$9代表第一 到第九个参数,十以上的参数需要用大括号 包含,如${10}. $*这个变量代表命令行中所有的参数,$*把所 有的参数看成一个整体 $@这个变量也代表命令行中所有的参数,不过 $@把每个参数区分对待 $#这个变量代表命令行中所有参数的个数

2,实例

#!/bin/bash num1=$1 num2=$2 sum=$(( $num1 + $num2)) # 变量 sum 的和是 num1 加 num2 echo $sum # 打印变量sum 的值#!/bin/bash echo "A total of $# parameters" # 使用 $# 代表所有参数的个数echo "The parameters is: $*" # 使用 $* 代表所有的参数echo "The parameters is: $@" # 使用 $@ 也代表所有参数#!/bin/bash for i in "$*" #$* 中的所有参数看成是一个整体,所以这个 for 循环只会循环一次do echo "The parameters is: $i" done x=1 for y in "$@" #$@ 中的每个参数都看成是独立的,所以“ $@ ”中有几个参数,就会循环几次do echo "The parameter$x is: $y" x=$(( $x +1 )) done

4,预定义变量

1,简介

$? 最后一次执行的命令的返回状态。如果这个变 量的值为0,证明上一个命令正确执行;如果 这个变量的值为非0(具体是哪个数,由命令 自己来决定),则证明上一个命令执行不正确 了。 $$ 当前进程的进程号(PID) $! 后台运行的最后一个进程的进程号(PID)

2,实例

#!/bin/bash echo "The current process is $$" # 输出当前进程的 PID 。# 这个 PID 就是 variable.sh 这个脚本执行时,生成的进程的 PID find /root -name hello.sh & # 使用 find 命令在 root 目录下查找 hello.sh 文件# 符号 & 的意思是把命令放入后台执行,工作管理我们在系统管理章节 会详细介绍echo "The last one Daemon process is $!"

3,接受键盘输入

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。