デフォルトシェル以外のシェルで単一コマンドを実行する

デフォルトシェル以外のシェルで単一コマンドを実行する

bashからzshに切り替えていますが、すべてに慣れたら、通常のワークフローを維持するために、デフォルトのシェル以外のシェルを使用して個々のコマンドを実行する方法はありますか?理想的には、bashは私の設定ファイルのための環境を維持したいと思います。

私のbashエイリアス内にのみ存在するエイリアスがあるとしましょう。

こんなことをしたい

bash <some bash command>

スクリプトをハックしようとしています。

~/bin/mybash

#!/bin/bash

source ~/.bashrc

$@

% ~/bin/mybash which <my bash alias>< - 成功しませんでした

答え1

bash -ic 'some bash command'

some bash command対話型シェルのように初期化されたbashシェルで実行されます(~/.bashrcエイリアス拡張のロードと許可を含む)。

前任者。

 % echo $0
zsh

 % type ls
ls is /bin/ls

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

関連情報