- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 .tmux.conf
文件中,我有这一行:
set -g status-left '#(iwgetid | cut -d '"' -f 2)'
当我运行 tmux
时抛出错误:
/home/user/.tmux.conf:8: invalid or unknown command: set -g status-left '#(iwgetid | cut -d '"' -f 2)'
错误在 "
处,因为当我用 ,
更改它时,tmux
不会抛出错误。当然,它的行为也不如预期。
谁能告诉我如何解决这个问题?
我已经试过转义 "
和 '
但运气不好。
最佳答案
从您希望 shell 获取的内容开始:
iwgetid | cut -d '"' -f 2
将它包裹在#()
中,这样在status-left
的扩展中它会被当作一个shell命令:
#(iwgetid | cut -d '"' -f 2)
将其嵌入为 tmux 可以解析的字符串。你试图在它周围加上单引号:
'#(iwgetid | cut -d '"' -f 2)'
问题是 tmux 会将“内部”单引号中的第一个和“外部”单引号中的第一个解释为单个字符串段,并在顶部留下以下双引号-现在它形成一个未终止的字符串段的级别;在这种情况下,错误消息不是很清楚。
要解决此问题,您需要为所选的 tmux 引用字符正确引用格式字符串(嵌入 shell 命令)。你可以这样做:
set -g status-left '#(iwgetid | cut -d '"'\"'"' -f 2)'
但是,这有点难读,因此您可以考虑将 shell 命令切换为更容易tmux-quotable 的命令:
iwgetid | cut -d \" -f 2
您可以使用 tmux 单引号将其嵌入到 status-left
中,如下所示:
set -g status-left '#(iwgetid | cut -d \" -f 2)'
或者像这样使用 tmux 双引号:
set -g status-left "#(iwgetid | cut -d \\\" -f 2)"
请记住,tmux 引用类似于 Bourne 风格的 shell 引用,但不完全相同(例如,顶级反斜杠转义的工作方式不同)。此引用系统用于配置文件、命令提示符
(例如前缀 :
)、confirm-before
和 if- shell
命令参数,以及 choose-
命令的命令模板。
关于linux - tmux的配置文件出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17397127/
在 Mac Mountain Lion 上,tmux 通过 Homebrew 安装。 以下某些设置不起作用: setw -g pane-base-index 1 set -g mouse-resize
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在编写一个 shell 脚本,用于创建/附加或切换到给定 session ,具体取决于 session 是否位于 tmux 内部以及 session 是否存在。 除了需要在 tmux sessio
我在 iTerm2 中使用 tmux 已经有一段时间了,但我没有使用现在 iTerm2 附带的 tmux 集成。 我开始考虑使用 tmux 集成,因为它允许您在 tmux 中使用 shell 集成。
我正在尝试编写一个可以运行/源代码的脚本,以便 tmux 设置特定的布局并运行命令。我有一些结果。 这是我到目前为止所写的内容: selectp -t 1 splitw -v -p 15 splitw
我写了 this thing每当在运行 session 中创建新窗口时,我都想获取 Python virtualenv activate 脚本。 是否可以? default-command 选项与 s
我想从下到上移动窗口列表。 如果应用程序的状态栏在 tmux 窗口列表上方,我会觉得它很奇怪。 任何提示? 最佳答案 看到这个 answer on Unix & Linux .如果您从 SVN 构建,
我在 gnome 终端内使用 tmux。 当我第一次打开一个窗口(默认大小为 80x24)时,tmux 栏紧贴在窗口的底部。然而,当我最大化终端窗口时,tmux 栏下方会出现一个令人讨厌的大间隙。 m
Tmux 使用 scroll 来查找历史命令,这让我很困扰。如何禁用此功能?我曾尝试使用“设置鼠标”,但它给了我另一个问题。我只想一直禁用我的鼠标,让滚动保留其原始用途。 最佳答案 Tmux 不再有鼠
我刚刚在我的新 MacBook Pro 上安装了 tmux,并且遇到了以下问题。 当我通过命令 tmux new-window 创建一个新窗口时我得到一个与我正在创建的 session 具有相同工作目
我经常同时运行几个 tmux session ,在大多数这些 session 中,我将在一个端口上运行一个本地服务器。我想要的是能够在从 tmux session 分离时自动终止该服务器,并在重新连接
有没有办法重新编号或交换 tmux session ,就像您可以重新编号或交换 tmux 窗口一样?我看不到它的任何命令,并希望在某些 session 之间轻松切换。 最佳答案 它们按名称排序(默认为
tmux 有一个命令模式,可以通过 C-b : 访问我想知道在我的 .tmux.conf 中是否有别名命令的方法像 split-window 这样的文件对于我更常用的东西,例如 vsp在 vim. 我
这样做的天真方法行不通。尝试这个: 启动第一个 tmux session 。 $ export ENVIRONMENT="production" $ tmux 然后您可以在 session 内验证 E
我管理着多台 Linux 机器,其中一些在存储库中的 tmux 版本为 2.1,而另一些的 tmux 版本低于 2.1。我使用鼠标模式,我知道在 tmux 2.1 中,启用鼠标模式的选项已更改为: s
我在 tmux 命令提示符下使用 Backspace 键时遇到问题。退格会删除 tmux 中的前一个字符(如预期的那样),但不会在 tmux 命令提示符下删除。例如,:lists不会删除 's' 字符
刚刚通过 homebrew 安装了 tmux我正在尝试找到系统范围的 tmux 配置文件。手册页指出系统范围的文件应该位于 /etc/tmux.conf ,但由于某种原因,它不在那里。默认在哪里tmu
我在 iTerm2 中使用 tmux。 当我在 bash 中时,使用 Ctrl-L 清除屏幕有效,但在我拖尾服务器日志时不起作用。我该如何解决? 最佳答案 您可以使用 send-keys -R 清除当
我可以设置 tmux 以在进程完成时在非事件窗口中触发警报吗? 例如:我开始了一个漫长的构建过程。我希望在完成时收到通知,而不是每次打印状态时都收到通知。 最佳答案 我很惊讶还没有给出这个答案:您可以
这是this question的后续. 假设我在一个 tmux session 中,我想打印 的名称当前 socket 正在使用。我怎样才能做到这一点? 最佳答案 当前服务器套接字的信息存储在 TMU
我是一名优秀的程序员,十分优秀!