使 Bash 工具在 Fish shell 中可用
Bass 使您可以轻松地使用为 Bash 写的实用程序 fish shell。
普通的 bash 脚本可以在 fish shell 中使用,就像用任何语言编写的脚本,只要使用正确的 shebang 或明确使用解释器(即使用 bash script.sh)。然而,许多实用程序(如 virtualenv)会修改 shell 环境,需要进行源引用,因此无法在 fish 中使用。有时会创建对应的程序(例如优秀的 virtualfish),但通常不是这样。
Bass 旨在使您可以在 fish shell 中使用 bash 工具,而无需进行任何修改。它通过捕获感兴趣的工具所修改的环境变量,并在 fish 中重放这些变化。对于简单的使用案例,您可能不需要使用 Bass。@jorgebucaran 建议的一个简单的替代方案是直接使用 exec bash -c "source some-bash-setup.sh; exec fish"。
omf install bassfisher install edc/bass添加
fundle plugin 'edc/bass'在您的 fish 配置中,重新启动 shell 并运行 fundle install。
Bass 使用简单。只需将您的 bash 实用程序命令前缀为 bass:
> bass export X=3
> echo $X请注意,export X=3 是 bash 语法。Bash 将新的 bash "传输" 到系统中。
将环境变量恢复为 fish。
Bass 有一个调试选项,这样您可以查看发生了什么:
> bass -d export X=4
# updating X=3 -> 4
set -g -x X 4这里有一个更现实的例子,使用了优秀的 nvm:
> bass source ~/.nvm/nvm.sh --no-use ';' nvm use iojs
Now using io.js v1.1.0请注意,为了避免被误解,半角分号需要加引号
3
暂无开放 Issues,或尚未同步最近议题。