在默认 shell 之外的 shell 中运行单个命令

在默认 shell 之外的 shell 中运行单个命令

我正在从 bash 切换到 zsh,但随着我已经习惯了一切,有没有办法使用默认 shell 之外的 shell 运行单个命令,以便我可以维持正常的工作流程?理想情况下,我希望 bash 维护我的配置文件的环境。

假设我有一些别名仅存在于我的 bash 别名中:

我想做这样的事情

bash <some bash command>

我尝试破解一个脚本:

〜/ bin / mybash

#!/bin/bash

source ~/.bashrc

$@

% ~/bin/mybash which <my bash alias><- 没有成功

答案1

bash -ic 'some bash command'

将在 bash shell 中运行some bash command,该 shell 的初始化方式与交互式 shell 类似(包括加载~/.bashrc和允许别名扩展)。

前任。

 % echo $0
zsh

 % type ls
ls is /bin/ls

 % bash -ic 'type ls'
ls is aliased to `ls --color=auto'

相关内容