为什么一个空格会导致shell脚本异常?

2026-04-27 22:310阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计465个文字,预计阅读时间需要2分钟。

为什么一个空格会导致shell脚本异常?

在执行bash脚本replace.sh时,遇到了不符合预期的情况。具体命令如下:

  为了找出问题,可以通过bash -x replace.sh运行脚本。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。执行bash -x replace.sh,结果如下:

  

  可以看出,replace.sh中的第10行被拆成了2条命令(黄色框和红色框共2条命令),因此ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak才会被执行。下面去掉第10行多出的空格,看一下效果。

阅读全文
标签:shell

本文共计465个文字,预计阅读时间需要2分钟。

为什么一个空格会导致shell脚本异常?

在执行bash脚本replace.sh时,遇到了不符合预期的情况。具体命令如下:

  为了找出问题,可以通过bash -x replace.sh运行脚本。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。执行bash -x replace.sh,结果如下:

  

  可以看出,replace.sh中的第10行被拆成了2条命令(黄色框和红色框共2条命令),因此ssh $host $bak ${hostPath}/$file ${hostPath}/${file}.bak才会被执行。下面去掉第10行多出的空格,看一下效果。

阅读全文
标签:shell