回答:
この値はに設定され/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
上記を実現するには、パスワードを数回入力する必要があります。管理者アカウントを使用する必要があると思います。