189 8069 5689

怎么进行shell变量替换

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

创新互联公司是一家专注网站建设、网络营销策划、微信平台小程序开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立10多年以来,已经为近1000家成都宣传片制作各业的企业公司提供互联网服务。现在,服务的近1000家客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。

#!/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://cdxtjz.cn/article/jispec.html

其他资讯