我正在尝试做类似的事情
if-shell "[[ -r $(python -m site --user-site)/powerline/bindings/tmux/powerline.conf ]]" 'source "$(python -m site --user-site)/powerline/bindings/tmux/powerline.conf"'
,但效果不太好。我不想对路径进行硬编码,因为 Linux 和 Mac 之间的路径可能有所不同。
答案1
问题在于语法中:
if-shell shell-command tmux-command1 tmux-command2
您可以$()
在第二部分中使用shell-command
,因为 shell 会解释它,但不能在两个 tmux 命令部分中使用。一种解决方案是使 tmux 命令 arun-shell
运行tmux source-file
,即将您的替换'source...'
为
'run-shell "tmux source-file $(python -m site --user-site)/powerline/bindings/tmux/powerline.conf"'