微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

转义字符串时遇到麻烦:Powershell-> Bash-> More Bash

如何解决转义字符串时遇到麻烦:Powershell-> Bash-> More Bash

我正在研究Powershell 7和WSL / bash。

基于此站点上的另一个答案,我创建了自己的仿冒版本watch,能够显示更多颜色。到目前为止,一切正常。看起来像这样:

while sleep 1; do
   x="$("$@" 2>&1)"
   clear
   echo "$x"
done

我正在尝试传递以下命令my_watch以使其重复:

task rc.defaultwidth=$(tput cols)

在Powershell / WSL中看起来像这样:

wsl ~/my_watch 'task rc.defaultwidth=$(tput cols)'

问题是$(tput cols)的评估时间过早,我认为在调用my_watch之前。因此,计算结果将传递到my_watch,这意味着宽度是在前面设置的,然后在监视循环中不会改变。

我希望每个my_watch周期都要重新计算列数,以便适应窗口大小调整。

但是我无法弄清楚如何转义tput cols部分,以便等到my_watch循环内部执行。

感谢您的帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。