bar.txt" bar.txt 的内容最终变成了: -n foo \n (\n 代表一个实际的换行符) 我将 run 用于其他命令,如 -6ren">
gpt4 book ai didi

ruby-on-rails - 为什么 Capistrano 将通过命令传递给 `run` 的标志解释为输入?

转载 作者:数据小太阳 更新时间:2023-10-29 07:37:05 24 4
gpt4 key购买 nike

我正在尝试这样做:

run "echo -n 'foo' > bar.txt"

bar.txt 的内容最终变成了:

-n foo \n

(\n 代表一个实际的换行符)

我将 run 用于其他命令,如 rm -rf,据我所知,它运行良好。

最佳答案

我刚刚在 man echo 中发现了这个:

Some shells may provide a builtin echo command which is similar or identical to this utility. Most notably, the builtin echo in sh(1) does not accept the -n option. Consult the builtin(1) manual page.

我的 bash 版本有一个内置的 echo 但似乎尊重 -n 标志。看起来你的部署机器上的 shell 没有,在这种情况下,使用 echo 二进制文件的完整路径可能会在这里做你想做的事:

run "/bin/echo -n 'foo' > bar.txt"

关于ruby-on-rails - 为什么 Capistrano 将通过命令传递给 `run` 的标志解释为输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4424702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com