Bashでコマンド出力を実際のコマンドラインとして実行できますか?

Bashでコマンド出力を実際のコマンドラインとして実行できますか?

たとえば、説明します。

私のエイリアスを宣言する行があります~/.bashrc

> grep lsdir ~/.bashrc

alias lsdir='ls -d */'

bashrcにこの行を追加したため、エイリアスはまだ現在のセッション環境に追加されていません。いくつかの構成上の理由ですべてのbashrcをリソースとして使用したくないので、このgrepラインを個別に実行したいと思います。

好奇心と教育的な目的で手書きを書こうとしましたが、成功しませんでした。

私はこれを試しました:

> $(grep lsdir ~/.bashrc)
bash: alias: -d: not found
bash: alias: */': not found

またはこれ:

> "$(grep lsdir ~/.bashrc)"
bash: alias lsdir='ls -d */': No such file or directory

またはこれも:

> $("grep lsdir ~/.bashrc")
bash: grep lsdir ~/.bashrc: No such file or directory

しかし、それらのどれも働かなかった。これを達成する方法はありますか?

ベストアンサー1

使用できるプロセスの交換一致する行のみを取得します。

source <(grep lsdir ~/.bashrc)

おすすめ記事