シェルをZSHに更新しました。 〜/ .bashrcをソースする場合。このエラーが発生しています
よドクターに何らかのエラーがありました。このコマンドを実行すると
echo "export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
/home/amerrnath/.bashrc:17: command not found: shopt /home/amerrnath/.bashrc:25: command not found: shopt /home/amerrnath/.bashrc:109: command not found: shopt /usr/share/bash-completion/bash_completion:35: parse error near
]] '
この問題を解決するのを手伝ってください
zshは~/.zshrc
ではなくenvプロファイル~/.bashrc
を使用します。
そのため、環境設定を.zshrcファイルに追加してから、
source ~/.zshrc
動作するはずです。
〜/ .bashrcに何かを配置するには:
bashに切り替える:
exec bash
それから
source ~/.bashrc
Bashに切り替えても、新しいターミナルウィンドウには影響しません。ただし、現在のウィンドウをzshに切り替えたい場合。
zshへの切り替え:
exec zsh
shopt
はコマンドではなく、シェルに組み込まれています。 bash
は組み込みのbash
であるため、それをどう処理するかを知っていますが、zshはそれが何であるかわかりません。 setopt
ビルトインであるzsh
を調べ、それらの値を新しい.zshrcスクリプトに入れます。
bashrc
ファイルはbash
用に作成されました。 zsh
はbash
ではありません。
zsh
があなたの.bashrc
まったく。
そうでなく、手動で調達している場合(.profile
または類似)。あんな事はしないで。
次に、代わりに適切なzsh
initファイルを作成します。
zsh
を使用する場合は、zsh
ではなくbash
を使用する必要があります。
shopt
はbash-ismです。
[[
はbash-ismです。
Shoptのエイリアスを作成し、zshをスローしたと呼びます
ここで簡単な解決策を説明します: https://github.com/larz258/Zshopt
Sudo vi /usr/bin/shopt
ショップ内
#!/bin/bash
args='';
for item in $@
do
args="$args $item";
done
shopt $args;
実行可能にする
Sudo chmod +x /usr/bin/shopt
.zshrcにエイリアスを作成します
echo "alias shopt='/usr/bin/shopt'" >> ~/.zshrc
16.04から17.10および18.04にアップグレードした後、何らかの理由で、シンボリックリンク/ bin/shがbashではなくdashに戻されました。このリンクの更新:
Sudo cd /bin && ln -sf bash sh
私のためにこの問題を解決しました
shopt
はコマンドではなく、シェルに組み込まれています。これを確認するには、bashで次のコマンドを実行します。
type shopt
出力は次のようになります。
shopt is a Shell builtin
ステップ1:
echo "#! /bin/bash\n\nshopt \$*\n" > /usr/local/bin/shopt
次に/ usr/local/bin/shoptを取得します。
#! /bin/bash
shopt $*
step2:
chmod +x /usr/local/bin/shopt
step3:
ln -s /usr/local/bin/shopt /usr/bin/shopt
step4:
echo "alias shopt='/usr/bin/shopt'" >> ~/.zshrc