转义字符串时遇到麻烦: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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...