+-
Linux Shell 变量
首页 专栏 linux 文章详情
0

Linux Shell 变量

小伍 发布于 5 月 10 日

定义变量

# 等号的周围不能有空格 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...

linux centos
阅读 51 发布于 5 月 10 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
小伍
34 声望
1 粉丝
关注作者
0 条评论
得票数 最新
提交评论
你知道吗?

注册登录
avatar
小伍
34 声望
1 粉丝
关注作者
宣传栏
目录

定义变量

# 等号的周围不能有空格 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...