Linux Shell 变量

小伍

定义变量

# 等号的周围不能有空格
url=http://www.qq.com/shell/

name='我的网站'

author="wu"

使用变量

# 推荐给所有变量加上花括号{}
echo $author
echo ${author}
echo "I am good at ${skill}Script"
# 建议使用引号包围,防止出现格式混乱的情况
LSL=`ls -l`
echo "${LSL}"

修改变量的值

url="http://www.qq.com"
url="http://www.qq.com/shell/"

单引号和双引号的区别

#!/bin/bash
url="http://www.qq.com"
website1='我的网站:${url}'
website2="我的网站:${url}"

# 我的网站:${url}
echo $website1

# 我的网站:http://www.qq.com
echo $website2

将命令的结果赋值给变量

格式:

variable=`command`
variable=$(command)
log=$(cat log.txt)
echo $log
#!/bin/bash

begin_time=`date`    #开始时间,使用``替换
sleep 20s
finish_time=$(date)  #结束时间,使用$()替换

echo "Begin time: $begin_time"
echo "Finish time: $finish_time"
#!/bin/bash
begin_time=`date +%s`    #开始时间,使用``替换
sleep 20s
finish_time=$(date +%s)  #结束时间,使用$()替换
run_time=$((finish_time - begin_time))  #时间差

echo "begin time: $begin_time"
echo "finish time: $finish_time"
echo "run time: ${run_time}s"
# 使用 $() 支持嵌套,反引号不支持
Fir_File_Lines=$(wc -l $(ls | sed -n '1p'))
echo "$Fir_File_Lines"
要注意的是,$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用。所以这两种命令替换的方式各有特点,究竟选用哪种方式全看个人需求。

删除变量

#!/bin/sh
myUrl="http://www.qq.com/shell/"
unset myUrl
echo $myUrl

参考:http://c.biancheng.net/view/1...

阅读 153
54 声望
1 粉丝
0 条评论
你知道吗?

54 声望
1 粉丝
宣传栏