我正在尝试在远程服务器上运行一些命令。我需要在那里获取一些 bash 文件。不幸的是,fabric 似乎(突然,最近?)开始使用/bin/sh
,并且由于我在脚本中使用 bash 语法而中断。我发现了这个:
如果 shell 为 True(默认),run 将通过 shell 解释器执行给定的命令字符串,其值可以通过设置 env.shell 来控制(默认类似于 /bin/bash -l -c ""。 ) 当 shell 为 True 时,命令中的任何双引号 (") 或美元符号 ($) 字符都将被自动转义。
我没有更改 env.shell,所以我不知道为什么 fabric 开始使用sh
. 无论如何,我正在覆盖它,但仍然没有运气:
env.shell = "/bin/bash"
这可能是什么原因造成的?我能做些什么来强制使用面料bash
?