問題タブ [shopt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - 解決済み: Catalina bash shopt direxpand がありません
Windows と Linux から来た macOS は初めてです。bash を使用したいのですが、Catalina で bash をアップグレードする方法を見つけました。現在のバージョンは次のとおりです。
GNU bash, version 5.0.18(1)-release (x86_64-apple-darwin19.5.0)
、coreutilsもインストールしました。
.bashrc に direxpand を設定しようとしています (これは *nix バリアントで期待どおりに動作します):
shopt -s direxpand
しかし、.bashrc が供給されると、エラーが発生します。
-bash: shopt: direxpand: invalid shell option name
オンラインで検索して数時間費やしましたが、答えが見つかりません。誰か助けてもらえますか?
更新 28/07/20 14:08 GMT
興味深いことに、投稿する前に他のアドバイスに従って、brew で bash をインストール/usr/local/bin/bash
し、ターミナル アプリがそれを使用できるようにシェルを設定する必要がありました。
からの出力bash --version
:
GNU bash, version 5.0.18(1)-release (x86_64-apple-darwin19.5.0)
しかし、echo $BASH_VERSION
与えます:
3.2.57(1)-release
それで、何かが正しくないのですか?
また、実行中の出力にはshopt
direxpand が表示されません。
解決済み 2020 年 7 月 28 日 20:00 GMT
同様の問題を抱えている人のために、ここに私が見つけたものがあります。
Catalina と一緒にインストールされた bash には、Linux にあるのと同じシェル オプションが含まれていませんでした。
完全な解決策は、coreutils をインストールし、brew で bash することです。
brew install coreutils bash
次に、新しいバージョンの bash をシェル
sudo vi /etc/shells
に追加します。/usr/local/bin/bash
次に、ユーザー シェルを変更します。
chsh -s /usr/local/bin/bash
次に、端末設定>一般>シェルで>コマンド(完全なパス)で開き、新しいbashを追加します/usr/local/bin/bash
その後、shopt -s
direxpand がオプションになり、.bashrc が期待どおりに動作することを確認します。