怎么进行shell变量替换-创新互联

本篇文章为大家展示了怎么进行shell变量替换,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联是一家集网站建设,海南企业网站建设,海南品牌网站建设,网站定制,海南网站建设报价,网络营销,网络优化,海南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。创新互联专注于庄浪网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供庄浪营销型网站建设,庄浪网站制作、庄浪网页设计、庄浪网站官网定制、小程序设计服务,打造庄浪网络公司原创品牌,更为您提供庄浪网站排名全网营销落地服务。

#!/bin/bash
#-------------------------------------
#--选出10个3的倍数,从给定的自然数开始
#-------------------------------------

#--输入
read -p "请输入一个自然数:" Input
if [ $Input -gt 0] ;then 
  echo "您输入的是自然数,从此自然数开始的10个3的倍数为"
else
  echo "您输入的不是自然数,程序异常退出。"
  exit
fi
#--处理并输出
Count=0
Num=$Input
while [ $Count -lt 10 ] 
do
  let Num2=$Num%3
  if [ $Num2 -eq 0 ] ;then
    echo "$Num"
  let Count++
  fi
  let Num++
done
这个程序一次修改第八行少一个空格0 后面


zq@zq-py:~$ ./xuanshu.sh 
请输入一个自然数:6
您输入的是自然数,从此自然数开始的10个3的倍数为
6
9
12
15
18
21
24
27
30
33
zq@zq-py:~$ ./xuanshu.sh 
请输入一个自然数:0
您输入的不是自然数,程序异常退出。
zq@zq-py:~$ ./xuanshu.sh 
请输入一个自然数:-7
您输入的不是自然数,程序异常退出。
zq@zq-py:~$ ./xuanshu.sh 
请输入一个自然数:6.6
./xuanshu.sh: 第 8 行: [: 6.6: 需要整数表达式
您输入的不是自然数,程序异常退出。


shell函数 shell变量的替换


shell函数的两种表达形态
1.函数名()eg: hello()[echo “hello zq”]
2.function 函数名()  eg:function hello()[echo “hello zq”]


shell函数的使用
 shell函数使用时只需书写函数名即可eg: hello
#!/bin/bash
zq()
{
  echo "zq nihao"
}


function zqq()
{


echo "zqq nihao"
}


zq
zqq
~                                                            
zq nihao
zqq nihao


#!/bin/bash
zq()
{
  echo "zq nihao"
}


function zqq()
{


echo “$1 你好” 
}


zq
zqq  中国       


#!/bin/bash
zq()
{
  echo "zq nihao"
}


function zqq()
{


echo “$1 你好” 
}


zq
zqq  $1 运行这个脚本的时候 可以指定变量 


shell变量的替换
缺省替换:${Var: -value}
若Var变量未被设置,则临时设置未value  eg:${Day: -Sun}
强制替换:${Var: +value} 
若Var变量已被设置,则临时设置为value  eg:${Day: +Sun}
zq@zq-py:~$ echo ${Day:-sunday}
sunday
zq@zq-py:~$ echo $Day


zq@zq-py:~$ echo ${Day:monday}


zq@zq-py:~$ Day=saturday
zq@zq-py:~$ echo ${Day:+monday}
monday
zq@zq-py:~$ echo $Day
saturday
缺省赋值替换${Var: =value}  
若Var变量未被设置,则永久设置为value eg:${Today:=Sun}
zq@zq-py:~$ unset Today
zq@zq-py:~$ echo $Today


zq@zq-py:~$ echo ${Today:=friday}
friday
zq@zq-py:~$ echo $Today
friday
zq@zq-py:~$ echo $Today
friday
zq@zq-py:~$ unset Today
zq@zq-py:~$ echo Today
Today


缺省错误替换${Var: ?string}
若Var变量未被设置,则错误输出为string eg:${Torrow: ?日期错误}  
zq@zq-py:~$ Torrow
Torrow:未找到命令
zq@zq-py:~$ echo Torrow
Torrow
zq@zq-py:~$ echo ${Torrow:?"no set value"}
bash: Torrow: no set value
zq@zq-py:~$ Torrow=sunday
zq@zq-py:~$ echo ${Torrow:?"no set value"}
sunday
zq@zq-py:~$ 


单次匹配替换${Var/pattern/string}
若Var变量匹配pattern存在,则单次替换输出为string
eg:${zq/za/zb}
全局匹配替换${Var//pattern/string}
若Var变量匹配pattern多次,则全部替换输出为string
eg:${zq//za/zb}
zq@zq-py:~$ echo $Torrow
sunday
zq@zq-py:~$ echo ${Torrow/sun/aun}
aunday
zq@zq-py:~$ echo $Torrow
sunday
zq@zq-py:~$ Torrow=${Torrow}sunday
zq@zq-py:~$ echo $Torrow
sundaysunday
zq@zq-py:~$ echo ${Torrow/sun/aun}
aundaysunday
zq@zq-py:~$ echo ${Torrow/aun/aun}
sundaysunday
zq@zq-py:~$ echo ${Torrow//sun/aun}
aundayaunday
zq@zq-py:~$ 

上述内容就是怎么进行shell变量替换,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联-成都网站建设公司行业资讯频道。


网站名称:怎么进行shell变量替换-创新互联
转载来源:http://myzitong.com/article/cehcjj.html