如何解决转义字符串时遇到麻烦: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 举报,一经查实,本站将立刻删除。