web-dev-qa-db-ja.com

シェルの更新後、shopbコマンドが.bashrcで見つからない

シェルを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]] '

この問題を解決するのを手伝ってください

24
Amerrnath

zshは~/.zshrcではなくenvプロファイル~/.bashrcを使用します。

そのため、環境設定を.zshrcファイルに追加してから、

source ~/.zshrc

動作するはずです。

rbenv github link

52
sudoz

〜/ .bashrcに何かを配置するには:

bashに切り替える:

exec bash

それから

source ~/.bashrc

Bashに切り替えても、新しいターミナルウィンドウには影響しません。ただし、現在のウィンドウをzshに切り替えたい場合。

zshへの切り替え:

exec zsh

参照

26

shoptはコマンドではなく、シェルに組み込まれています。 bashは組み込みのbashであるため、それをどう処理するかを知っていますが、zshはそれが何であるかわかりません。 setoptビルトインであるzshを調べ、それらの値を新しい.zshrcスクリプトに入れます。

14
Omnipresence

bashrcファイルはbash用に作成されました。 zshbashではありません。

zshがあなたの.bashrcまったく。

そうでなく、手動で調達している場合(.profile または類似)。あんな事はしないで。

次に、代わりに適切なzsh initファイルを作成します。

zshを使用する場合は、zshではなくbashを使用する必要があります。

shoptはbash-ismです。

[[はbash-ismです。

7
Etan Reisner

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
3
Florian

16.04から17.10および18.04にアップグレードした後、何らかの理由で、シンボリックリンク/ bin/shがbashではなくdashに戻されました。このリンクの更新:

Sudo cd /bin && ln -sf bash sh

私のためにこの問題を解決しました

0

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
0
hxysayhi