目录
一.linux变量声明及定义
二.linux变量使用方法
三.linux变量使用花括号${name}和双引号“$name”的区别
四.linux变量使用单引号'$name'和双引号“$name”的区别
五.linux变量中使用命令
一.linux变量声明及定义
#!/bin/bash
name=zhaodabao
- 等号两边不能有空格
- 变量名称只能是英文字母和数字,不能以数字开头
二.linux变量使用方法
以下两种使用方式均可,但是最好使用花括号,这样代码的可读性更好,是一种良好的编程习惯。
#!/bin/bashecho $nameecho ${name}
三.linux变量使用花括号${name}和双引号“$name”的区别
一般情况加双引号和花括号不会影响代码执行结果,二者都可以使用,但是Linux中文件名中包含空格是合法的,为了区分变量和相邻的输出内容,必须使用花括号或双引号,推荐给变量加花括号,是个良好的编程习惯。
具体在使用中会存在特殊情况,二者有所不同,下面是具体情况:
${user}name 和$usemame的区别
"$file name"和$file name的区别
四.linux变量使用单引号'$name'和双引号“$name”的区别
单引号不会编译里面的变量内容,双引号会
#!/bin/bash
user="zhaodabao"echo '${user}'
输出:
'${user}'echo"${user}"
输出:
zhaodabao
五.linux变量中使用命令
使用反单引号(`),在一条语句中,反单引号之间的命令会先被执行,所以可以将反单引号中命令输出的结果赋值给变量
#!/bin/bash
name=`echo $HOME`
六.sed中使用变量
sed简介:(system editor,流文本编辑器)
sed是非交互式编辑器,默认不会修改文件,会输出打印到屏幕或文件逐行处理;
所以主要用sed指令来处理行数据,列数据可以使用awk。
解决方法:
sed中提取某一行数据可以用
sed -n '1p' file
通常在实际情况中,我们需要循环提取多行数据,所以要被提取的行数就需要使用变量表示,例如
for i in {1..3}
dosed -n "$i"p file
done
这时候需要注意的是,使用变量表示行数需要用双引号,而不是常规的单引号,这一点很容易被忽略,需要注意
七.awk中使用变量
awk使用变量提取数据的方法为:
for i in {1..3}
do
awk -F" " '{print "'$i'"}' file
done
要注意先用单引号包住变量,再用双引号包住整体