Python 双花括号在bash命令中起什么作用?
我正在重构一个脚本,我看到:Python 双花括号在bash命令中起什么作用?,python,bash,command,escaping,curly-braces,Python,Bash,Command,Escaping,Curly Braces,我正在重构一个脚本,我看到: /bin/bash -c 'rm -rf directory/{{..?*,.[!.]*,*}}' 奇怪的是,谷歌搜索“bash double curly braces”到目前为止还没有让我有任何进展。这个代码是做什么的 编辑:显然,我没有包括足够的细节。实际上,它是一个使用format()的python命令,因此双花括号实际上是为此转义的单花括号 subprocess.check_output(['/bin/bash', '-c', 'rm -rf {0}/{{
/bin/bash -c 'rm -rf directory/{{..?*,.[!.]*,*}}'
奇怪的是,谷歌搜索“bash double curly braces”到目前为止还没有让我有任何进展。这个代码是做什么的
编辑:显然,我没有包括足够的细节。实际上,它是一个使用format()
的python命令,因此双花括号实际上是为此转义的单花括号
subprocess.check_output(['/bin/bash', '-c', 'rm -rf {0}/{{..?*,.[!.]*,*}}'.format('directory')]
@另一个人在评论中提到了这一点。你在重构什么样的脚本?你确定
{
在外部脚本中没有用于某种模板或转义吗?@那好吧,它是一个python脚本,使用子进程。check_output()
运行命令,但没有模板。我显示的是执行的内容。它看起来像是bash-c'rm-rf目录的输入错误/{..?*,[!.]*,*}
除非目录
确实包含名称以{
开头,以}结尾的文件/目录
-请尝试回送目录/{..?*,[!.]*,*}
和回送目录/{..?*,[!.]*,*}
@mattalxndr您是否介意在发布时添加更多上下文,而不进行任何编辑?我猜真正的代码类似于子流程。检查输出(“/bin/bash-c'{}/{..?*,[!.]*,*}”。格式(“mydirectory”)
,这可以解释it@thatotherguy你是对的。如果你加上这个作为回答,我可以接受。