Rangerを介してシェルにいることを確認してください。

Rangerを介してシェルにいることを確認してください。

レンジャーではクリックしてS砲弾に飛び込んでctrl+Dレンジャーに戻ることができます。

しばらくシェルにいたがレンジャーにジャンプしたいときに普通のシェルを打つべきか、すでにレンジャーを介してシェルrangerに入っているならそれを打つべきか分からない。ctrl+D

間違えた場合、ctrl+D端末は閉じます。誤って使用すると、rangerRanger 内に Ranger インスタンスがネストされます。

すでにレンジャーシェルにいることを確認する方法はありますか?

コマンドがある場合は、rangerpシェルにある場合は「True」でエイリアスを、そうでない場合は「False」でエイリアスを指定できます。

ベストアンサー1

Rangerがシェルを作成するたびに、環境変数が増加しますRANGER_LEVEL

$ echo $RANGER_LEVEL

$ ranger             # Open Ranger and enter a nested shell
$ echo $RANGER_LEVEL                           
1
$ ranger             # Do the same thing from the nested shell
$ echo $RANGER_LEVEL                            
2

要求されたコマンドに対して、次のことができます。

alias inranger="[ $RANGER_LEVEL ] && echo True || echo False"

このコマンドを実行するのに時間を無駄にしたくない、または実行するのを忘れないようにするには、シェルのRCファイルを編集してプロンプトに必要な情報を追加できます。

if [ -n "$RANGER_LEVEL" ]; then 
    export PS1="[r$RANGER_LEVEL]$PS1";
fi

それだけです:

$ ranger     # Open Ranger and drop into a shell
[r1]$ ranger # One more time
[r2]$        # ...

源泉:https://github.com/ranger/ranger/issues/1374

おすすめ記事