编写命令脚本时出错,但手动使用命令时出错

  • 本文关键字:命令 出错 脚本 bash shell sed
  • 更新时间 :
  • 英文 :


正在尝试应用此命令:

 echo $1 | sed -re 's/.example.com//' | tr '[:lower:]' '[:upper:]'

手动,它将工作(通过输入 sprod.example.com,我将得到"SPROD"。但是当我尝试在脚本中使用它时,我会得到这个:

<script_path>: line 34: echo sprod.example.com | sed -re 's/.example.com//' | tr '[:lower:]' '[:upper:]': No such file or directory

怎么了?

编辑

这是我对变量的用法:

# uppercase the hostname and cleaning
hostname=$("echo "$1" | sed -re 's/.vdb.local//' | tr '[:lower:]' '[:upper:]'")
# create the command line to add to the command file
cmdline="[$datetime] PROCESS_SERVICE_CHECK_RESULT;$hostname;$2;$3;$4"

引用错误。你必须这样写:

hostname=$(echo "$1" | sed -re 's/.vdb.local//' | tr '[:lower:]' '[:upper:]')

相关内容

  • 没有找到相关文章

最新更新