
コマンドを実行するときにbashスクリプトを取得する方法はありますかmc
?私はこれをMidnight Commanderのbashインスタンスから派生させたいと思います。私はこれを試しました
mc && . .bash_script.sh
しかし、うまくいきません。 Bashは以前のBashインスタンスからスクリプトをインポートしたようです。コマンドの実行後にスクリプトがインポートされたことがわかったexit
ためです。.bash_script.sh
ただし、正午コマンドラインでは使用できません。
答え1
man mc
、探す」bashrcキーワード:
Bashを使用している場合は、~/.local/share/mc/でサブシェルの起動コマンドを指定できます。bashrc~/.local/share/mc/inputrc ファイルのファイルと特殊キーマップ。 tcsh ユーザーは ~/.local/share/mc/tcshrc ファイルで開始コマンドを指定できます。
したがって、~/.bash_script.sh
これがあなたのパスであると仮定し、次の内容を含むファイルを.bash_script.sh
追加します。~/.local/share/mc/bashrc
[xiaobai@localhost tmp]$ cat ~/.local/share/mc/bashrc
. ~/.bash_script.sh
[xiaobai@localhost tmp]$
mc
(または)を実行すると、mc -U
下部のコマンドプロンプトが現在の時刻に変わります。
Ctrlその後、-を押してoサブシェルに入ると、灰色の+ git情報はここで最初のコマンドを実行した後にのみ適用されます(バグ)。Ctrl- をもう一度押すとホーム画面oに戻ります。mc
答え2
mc
走る~/.bashrc
。したがって、.bash_script.sh
内部でスクリプトソースを実行できます~/.bashrc
。内部的にのみスクリプトソースを取得したいようですmc
。この場合、設定されたシェル変数をテストしますmc
(例:)MC_SID
。
~/.bashrc
したがって、次の行を追加した後:
[ "$MC_SID" ] && . .bash_script.sh
テスト
この方法が機能していることを確認するには、簡単なものから始めてください。次の行を入力してください~/.bashrc
。
[ "$MC_SID" ] && date >>~/mc.log
次にインスタンスを起動しますmc
。次に、実行してls ~/mc.log
ファイルが存在することを確認します。