Shell 变量

${#var} 可计算出变量值的长度:

1.变量的定义

变量名=”赋值给变量的内容”  (字符串)
变量名=’赋值给变量的内容’  (字符串)
变量名=数值                (数值)

【注意】:变量名和等号之间不能有空格

2.变量名的命名规范
·首个字符必须为字母(a-z,A-Z)。
·不能使用标点符号。
·中间不能有空格,可以使用下划线(_),最好不要用特殊字符,可读性差。
·不要使用bash里的关键字

3.【实例】
name=”yuanji”
age=20

4.使用变量
$变量名
${变量名}  #推荐使用这种形式

【实例】
[root@10-222 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”

显示结果
[root@10-222 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.重新定义变量(已定义的变量可以重新赋值)
[root@10-222 home]# name=”yuanji”
[root@10-222 home]# echo $name
yuanji
[root@10-222 home]# name=”Tom”   
[root@10-222 home]# echo $name
Tom

7.取变量值赋值给另一个变量
[root@10-222 ~]# name=”yuanji”
[root@10-222 ~]# new_name=$name
[root@10-222 ~]# echo $new_name
yuanji

以下几个部分在后续内容介绍
例如在sed和awk中使用变量,
将mysql的数据传到变量中
将文件中的内容传到变量中(对应处理文件问题,个人很少用shell,基本都是用perl或者python。 因为这不是shell的强处)

以上是个人点点总结和理解,水平不高,文笔水平很烂,请各位大大见谅。
可以一起交流学习。

  我的QQ:610851588
  可以加入我建的群(现在群人很少,希望慢慢多起来)
  Linux  群:183932302
  Python ,shell 交流群:469094734