我有这个程序可以在文本用户界面和图形用户界面下运行。
它没有任何命令行开关来强制一个或另一个,而是我猜它以某种方式自动检测我们是否在 X 中(例如,如果我从虚拟终端运行它,它会进入它的文本模式,如果我从X 终端模拟器,它会打开一个单独的图形窗口)。
我想强制它进入文本模式并让它在 X 终端内运行。我将如何去做?
我经常使用find
或locate
来查找路径。
(~) locate foobar.mmpz
/home/progo/lmms/projects/foobar.mmpz
Run Code Online (Sandbox Code Playgroud)
下一步通常是打开或以其他方式操作文件。在像上面这样的快乐情况下,我可以这样做:
(~) ls `!!`
ls `locate foobar.mmpz`
/home/progo/lmms/projects/foobar.mmpz
Run Code Online (Sandbox Code Playgroud)
但是当有很多输出行时,没有人会太高兴,其中一些可能不是路径或其他类似的东西。此外,重新运行可能浪费的命令也不是那么优雅。
有没有办法连接 zsh 以将标准输出存储到数组中以供以后操作?毕竟,将流重定向到用户是 shell 的工作。我认为它可以将前 N 行和最后 N 行存储在变量中以供以后立即使用,例如$?
和其他。
好的,这很酷:https : //unix.stackexchange.com/a/59704/5674。我现在询问 zsh 专有技术(并将代码移植到 zsh)以在每个运行行之后装配这种捕获。