回答:
この値はに設定され/bin/bashます。ここで変更するものはありません。これらの設定を管理しました。すべてのシェルでこのエラーが発生します。
最後に解決策を見つけました。Finderでフォルダを開きます/etc。そこで/private/etc/shells、空のファイルを見つけました。ファイル/private/etc/shellsをバックアップファイルに置き換えました/private/etc/shells~orig。
これで、/ private / etc / shellsには次が含まれます。
/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
(Finderにはさらに手順が必要です。空のシェルファイルを削除し、情報ダイアログで権限を変更します。)
これで、/bin/bashもう一度Terminal.appを起動できます。
Time Machineの復元後も同じ問題が発生しました。この場合、MacBook Proからのバックアップを使用してMacBookに復元します。
Finderを使用するだけで問題を解決できました(要求されるたびにパスワードを入力してください):
有効なシェルのリストを含む「シェル」ファイルができたので、ターミナルを再度開くことができました。
同じ問題がありました。何らかの理由でTime Machineが/private/etc/shells復元中に長さゼロのファイルになりました。chemmの答えはかなり良いのですが、私のようなMacの初心者向けのいくつかの手順を逃しています。
/private/etcするには、Finderメニュー項目Go -> Go to Folderオプションを使用して入力する必要があります/private/etc/private/etcフォルダで起動します。/private/etc上記を実現するには、パスワードを数回入力する必要があります。管理者アカウントを使用する必要があると思います。