bash shell 学习日记(6)特殊字符(五)之美元符号$


目录

美元符号

$在bash中的用途

———————————————————————————————————————————-

美元符号—–$

$在bash中用途

  • $  变量替换(引用变量的内容)     Variable substitution
  • $    正则表达式中的行结束符            Regular  expression
  • ${ }  参数替换                                    Parameter substitution
  • $ ‘ … ‘  引用字符串扩展                      Ouoted string expansion
  • $* , $@  位置参数                              Pcsitional  parameters
  • $ ? 退出状态码变量                           Exit status variable
  • $$   进程ID变量                                 Process ID  variable

  1.1 变量替换:变量的名字就是保存变量的地方,引用变量的值就叫做变量替换。

   ex:

variable1=123

echo variable1
variable1

echo $variable1 
123
  
echo ${variable1} 
123

    注意:在下列情况下,变量名没有前缀$

  • 变量名被声名或被赋值
  • 变量被unset重置
  • 变量被export导出
  • 变量代表一种信号 (特殊情况)信号是发给进程的一个消息,消息可由内核or其它进程发出,作用是通知目的进程采取一系列指定动作。常见终止,例:在运行命令时,按下ctrl+C,即发出了一个用户终端的信号到当前进程。

     在引用时,$的变化:

      双引号,弱引用,发生变量替换。单引号,强引用,保持字面意思。

1.2正则表达式中行结束符

     正则表达式处理字符串的一种强大的工具,具有自己的语法结构。大致过程:把设定的表达式和要比较的字符串进行比较,如果文本中字符串和表达式每个字符都匹配,说明匹配成功,若其中有一个不匹配的字符,说明匹配失败。

     $在正则表达式中表示行结束符,例:

     “abc$” 匹配行尾的abc

    “^$” 匹配空行

1.3 参数替代 ${ }

   前言:在上节? 中

  bash shell 学习日记(6)特殊字符(五)之美元符号$

 

 参数替换方法(二)

    如果变量未被声名或赋值,那么就替换为默认值 (三元结构)

   ${ parameter-default}  判断变量是否被声名,没赋值指定默认值为default

   ${parameter : -default}  判断是否被赋值,没有赋值指定default值给变量

例1:

echo ${ username- `whoami` }  判断username是否被声名

例2:

DEFAULT_FILENAME=generic.data

filename=${1:-$DEFAULT_FILENAME

脚本逻辑 :判断变量是否被声名or被赋值

  1 #!/bin/bash
  2 #variable.sh
  3 # 一个变量是否被声明或设置,将会影响变量是否使用默认值
  4 # 情况1:没有声明,直接使用
  5 echo "username1 has not declared."
  6 echo "Test1A: username1 = ${username1-`whoami`}" #有输出
  7 echo "Test1A: username1 = ${username1:-`whoami`}" #有输出
  8 echo
  9 #情况2:声明了变量,但变量值为空null
 10 username2=
 11 echo "username2 has been declared,but is set ton null."
 12 echo "Test2B: username2 = ${username2-`whoami`}" #无输出
 13 echo "Test2B: username2 = ${username2:-`whoami`}" #有输出
 14 #有输出,因为:-会比-多了一个测试条件

1.4 引用字符串扩展  ‘  … ‘(了解即可)

quote=$’/042′   42八进制 转义到字符为“

echo $quote

  “

1.5 位置参数

bash shell 学习日记(6)特殊字符(五)之美元符号$

 

 1.6  退出代码 $? 

保持一个命令、一个脚本、一个函数的退出的状态代码

1.7 进程ID变量

保存当前运行脚本进程的ID

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267142.html

(0)
上一篇 2022年6月14日
下一篇 2022年6月14日

相关推荐

发表回复

登录后才能评论