if / else命令中的语法错误

用户名

此命令有什么问题?接缝处可能有语法错误,但我看不到哪里:

sh -c 'mongodump --host mongo_db --gzip --db db $$(if [ $TYPE = "hour" ]; then echo "--archive=/backup/hour/$$(date +"%H").gz"; elif [ $TYPE = "day" ]; then echo --archive=/backup/day/$$(date +"%d").gz; fi)'

我需要根据TYPE变量设置存档名称。

  • 如果类型为“小时”,则输出应为 /backup/hour/10.gz
  • 如果类型为“ day”,则输出应为例如 /backup/day/1.gz
  • 如果类型为“ month”,则输出应为例如 /backup/2017-09.gz
格伦·杰克曼
sh -c 'echo mongodump --host mongo_db --gzip --db db --archive="$(
    case "$1" in 
        hour)  f="%H";; 
        day)   f="%d";; 
        month) f="%Y-%m";; 
        *)     f="unknown"; set -- "";; 
    esac
    date "+/backup/$1/$f.gz"
)"' x "$TYPE"
  • 干燥
  • case 比长久可读 if/elif/elif...
  • x "$TYPE"是通过“外”可变进SH体而不播放引用游戏的方法。在sh主体中,“ x”变为$ 0,而$ TYPE变为$ 1。
  • 允许换行 $(...)
  • 您可以%date格式字符串中放入非指令

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

语法错误与awk中的if else

来自分类Dev

SQL中UPDATE命令的语法错误

来自分类Dev

远程命令中“&”的语法错误

来自分类Dev

简单If Else的语法错误

来自分类Dev

打印命令中的 Python 错误。语法错误

来自分类Dev

bash命令的语法错误

来自分类Dev

awk命令语法错误

来自分类Dev

命令 vaccum 的语法错误

来自分类Dev

BASH脚本中的语法错误-readarray + cut命令

来自分类Dev

Access SQL中的INSERT INTO命令的语法错误

来自分类Dev

system()命令的语法错误,以重命名C中的文件

来自分类Dev

docker zsh条件命令中的语法错误

来自分类Dev

无法在ggsunburst中运行基本命令。语法错误

来自分类Dev

BASH脚本中的语法错误-readarray + cut命令

来自分类Dev

sudoers文件中的多个命令导致语法错误

来自分类Dev

尝试在sql中声明变量并使用if-else语句时出现语法错误。-“ VARCHAR”或附近的语法错误

来自分类Dev

Pascal if / else程序语法错误

来自分类Dev

我的if else语句中的语法错误

来自分类Dev

Java:令牌“ else”上的语法错误

来自分类Dev

语法错误,意外的keyword_else

来自分类Dev

else:语句语法错误,简单的Python

来自分类Dev

Python在“ else:”上给出“语法错误”

来自分类Dev

Java:令牌“ else”上的语法错误

来自分类Dev

if-else构造的makefile语法错误

来自分类Dev

Cygwin if then else 语句 - 语法错误

来自分类Dev

ReactJS中的语法错误

来自分类Dev

coffeescript中的语法错误

来自分类Dev

Erlang中的语法错误

来自分类Dev

IE中的语法错误