sed ‘s/read dummy/\#/‘ `which gettextize` | sh -s -- --copy --force为什么会卡在这一行

使用命令 sed 's/read dummy/\#/' which gettextize`` | sh -s – --copy --force可能会卡住的原因通常与gettextize脚本的内容和它如何与sed命令交互有关。这条命令试图通过sed修改gettextize脚本的行为,具体是将脚本中的read dummy` 替换成注释,然后再执行修改后的脚本。

这里的几个潜在问题:

  1. read dummy 的用途gettextize 脚本中的 read dummy 可能用于暂停脚本执行,等待用户输入。通过将其替换为注释(#),这一行不再执行其原有的功能,但如果脚本中还有其他依赖于这一用户输入的部分,则可能导致脚本执行不正确或卡住。

  2. 管道到 shell 的执行:将修改后的脚本通过管道直接传递给 shell 执行时,可能不会按预期工作,特别是如果脚本需要交互式输入。通常,脚本的修改应该先保存到一个临时文件中,然后再执行这个临时文件,这样更容易控制和调试。

  3. 环境和权限问题:脚本执行过程中可能因为环境变量、路径或权限问题导致某些命令无法执行,或脚本在特定环境下行为不同。

解决建议:

  • 修改并测试脚本:先将 gettextize 脚本复制到一个临时文件,手动修改这个文件,然后尝试执行临时文件。这样做可以更清楚地看到哪里出了问题。
  • 详细输出调试:在执行脚本时添加 set -x,以打印出执行的每一步,这有助于识别卡住的原因。

例如:

cp `which gettextize` ./gettextize_tmp
sed -i 's/read dummy/#/' ./gettextize_tmp
sh -x ./gettextize_tmp --copy --force

这种方法可以帮助你更准确地找到问题所在,并决定是否有更合适的方法来达到你的目的。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值