비슷한 것을 하려고 하는데
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
쉘이 이를 해석하기 때문에 $()
두 번째 부분에서 사용할 수 있지만 두 tmux 명령 부분에서는 사용할 수 없습니다. shell-command
한 가지 해결책은 tmux 명령을 실행하는 것입니다 run-shell
. tmux source-file
즉 'source...'
,
'run-shell "tmux source-file $(python -m site --user-site)/powerline/bindings/tmux/powerline.conf"'