umount bash:警告:シェルレベル(1000)が高すぎる、1にリセット

umount bash:警告:シェルレベル(1000)が高すぎる、1にリセット

ドライブとイメージをマウントできますが、マウント解除することはできません。 「シェルレベルが高すぎます」というメッセージが表示されます。私は通常、スクリプトが自分自身を呼び出すときにこれが起こると予想しています。

umountで実行されるスクリプトはありますか?なぜこれが起こるのかわかりません。

# alias umount
-bash: alias: umount: not found
# mount -o ro sda1.img /tmp/mm
# umount /tmp/mm
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
/bin/bash: warning: shell level (1000) too high, resetting to 1
(repeat forever)

編集:誤ったコピー/貼り付けを修正しました。umountエイリアスなし

結論として:

type umountマウントが実際の実行可能ファイルの代わりにラッパースクリプトを実行しているかどうかわからないため、実行する必要があります。

ベストアンサー1

私は通常、スクリプトが自分自身を呼び出すときにこれが起こると予想しています。

はい、今そんなことが起こっています。 bashスクリプトは引き続き自分自身を再帰的に呼び出します(おそらく他のプログラムと一緒に、つまり次のようなループになるかもしれません)。スクリプトその他のオプション1その他のプログラム2スクリプト...).

プログラムumount自体はシェルスクリプトを呼び出しません。おそらくumount欠陥のあるラッパースクリプトに置き換えられましたか?確認する

type umount
file /path/displayed/by/the/previous/command

この問題はすべてのファイルシステムタイプで発生しますか、または1つのファイルシステムタイプでのみ発生しますか?削除したいイメージはどのファイルシステムを使用しますか?もしあればヒューズアンマウントを含むすべての操作にユーザー空間コードを含むファイルシステム。必要に応じて、このコードはbashスクリプトを実行できます。たぶんこのコード部分に問題があるかもしれません。

おすすめ記事