Shell 变量
${#var} 可计算出变量值的长度:
1.变量的定义
变量名="赋值给变量的内容" (字符串)
变量名=’赋值给变量的内容‘ (字符串)
变量名=数值 (数值)
【注意】:变量名和等号之间不能有空格
2.变量名的命名规范
·首个字符必须为字母(a-z,A-Z)。
·不能使用标点符号。
·中间不能有空格,可以使用下划线(_),最好不要用特殊字符,可读性差。
·不要使用bash里的关键字
3.【实例】
name="yuanji"
age=20
4.使用变量
$变量名
${变量名} #推荐使用这种形式
【实例】
[[email protected] yuanji_shell]# cat second.sh
#!/bin/sh
name="yuanji"
age=20
src=‘shell‘
echo $name
echo $age
echo ${name}
echo "My name is $name,age is $age. This is $srcProgram"
echo "My name is $name,age is $age. This is ${src}Program"
显示结果
[[email protected] yuanji_shell]# sh second.sh
yuanji
20
yuanji
My name is yuanji,age is 20. This is 【这里没有正常显示】
My name is yuanji,age is 20. This is shellProgram
5.执行命令赋值给变量(反引号``: 将命令执行结果输出给变量)
【实例】
整个文件读入一个变量,然后直接打印,也很容易理解,
a=`cat test.txt`;echo $a
6.重新定义变量(已定义的变量可以重新赋值)
[[email protected] home]# name="yuanji"
[[email protected] home]# echo $name
yuanji
[[email protected] home]# name="Tom"
[[email protected] home]# echo $name
Tom
7.取变量值赋值给另一个变量
[[email protected] ~]# name="yuanji"
[[email protected] ~]# new_name=$name
[[email protected] ~]# echo $new_name
yuanji
以下几个部分在后续内容介绍
例如在sed和awk中使用变量,
将mysql的数据传到变量中
将文件中的内容传到变量中(对应处理文件问题,个人很少用shell,基本都是用perl或者python。 因为这不是shell的强处)
以上是个人点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。
我的QQ:610851588
可以加入我建的群(现在群人很少,希望慢慢多起来)
Linux 群:183932302
Python ,shell 交流群:469094734