レンジャーではクリックしてS
砲弾に飛び込んでctrl+D
レンジャーに戻ることができます。
しばらくシェルにいたがレンジャーにジャンプしたいときに普通のシェルを打つべきか、すでにレンジャーを介してシェルranger
に入っているならそれを打つべきか分からない。ctrl+D
。
間違えた場合、ctrl+D
端末は閉じます。誤って使用すると、ranger
Ranger 内に 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]$ # ...