与 tmux 一起使用的 shell 脚本在 zsh 上失败



我有以下脚本:

#!/usr/bin/env bash
# set -xv

tmux new-window -n 'foo' 'source "$HOME/.rvm/scripts/rvm"; sleep 123' ;

在一台机器上它运行良好,在第二台机器上我得到一个错误:

sh: 1: source: not found

当然,从 shell 运行命令可以完美运行。怎么了?机器也有类似的点文件。

source不是POSIX命令。请改用.。 出现故障的计算机可能正在使用dash作为系统外壳,而不是bash 。从bash脚本执行tmux的事实并不意味着bash用于执行给定new-window的命令。 tmux将使用系统外壳/bin/sh,因此该命令不应依赖于非POSIX功能,例如.source同义词。

相关内容

  • 没有找到相关文章

最新更新