質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

762閲覧

zshrc読み込み時にエラーが発生

shishi_maru440

総合スコア38

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

zsh

zshは、UNIX系OSのシェルの1つです。 cshやksn系のコマンドライン編集機能も実装されたシェルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/23 10:20

編集2021/11/23 11:02

前提・実現したいこと

M1 Macbook Airでarm版とintel版が共存できる環境構築を行いたい。
PC購入当初は共存できる環境構築ができていたがflutterの環境構築をしていたら
エラーが発生するようになってしまった。
arm版はiTeerm2でintel版はターミナルで使用。

■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

ターミナル起動時のエラーメッセージ /Users/440h/.zshrc:3: parse error near `then'

該当のソースコード

tarminal

1export PROMPT="%n@%m(`uname -m`) %1~ %# " 2 3if[ `uname -m` = "arm64" ]; then 4 5 export PATH=$PATH:/opt/homebrew/bin 6 export PATH=/bin:$PATH 7 8 # >>> conda initialize >>> 9 # !! Contents within this block are managed by 'conda init' !! 10 __conda_setup="$('/Users/440h/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" 11 if [ $? -eq 0 ]; then 12 eval "$__conda_setup" 13 else 14 if [ -f "/Users/440h/miniforge3/etc/profile.d/conda.sh" ]; then 15 . "/Users/440h/miniforge3/etc/profile.d/conda.sh" 16 else 17 export PATH="/Users/440h/miniforge3/bin:$PATH" 18 fi 19 fi 20 21 unset __conda_setup 22 # <<< conda initialize <<< 23 24else 25 export PATH=$PATH:/urs/local/opt 26 27 28 # >>> conda initialize >>> 29 # !! Contents within this block are managed by 'conda init' !! 30 __conda_setup="$('/usr/local/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" 31 if [ $? -eq 0 ]; then 32 eval "$__conda_setup" 33 else 34 if [ -f "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then 35 . "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh" 36 else 37 export PATH="/usr/local/Caskroom/miniconda/base/bin:$PATH" 38 fi 39 fi 40 unset __conda_setup 41 # <<< conda initialize <<< 42

試したこと

#x86単体の設定では動作確認済

export PATH=$PATH:/urs/local/opt # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/usr/local/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then . "/usr/local/Caskroom/miniconda/base/etc/profile.d/conda.sh" else export PATH="/usr/local/Caskroom/miniconda/base/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<

#arm版は動作することができなかった

export PATH=$PATH: # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/Users/440h/miniforge3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/Users/440h/miniforge3/etc/profile.d/conda.sh" ]; then . "/Users/440h/miniforge3/etc/profile.d/conda.sh" else export PATH="/Users/440h/miniforge3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<

補足情報(FW/ツールのバージョンなど)

conda info -e

conda environments:

/Users/440h/miniforge3 /Users/440h/miniforge3/envs/arm_db_env /Users/440h/miniforge3/envs/arm_ds_env /Users/440h/miniforge3/envs/arm_tenso_env

base * /usr/local/Caskroom/miniconda/base
x86_ds_env /usr/local/Caskroom/miniconda/base/envs/x86_ds_env
x86_tenso_env /usr/local/Caskroom/miniconda/base/envs/x86_tenso_env
x86_test_env /usr/local/Caskroom/miniconda/base/envs/x86_test_env

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

if[の間に空白が無いので、構文キーワードのifと、[コマンドでなく、if[という1つの単語として認識されている。

シェルスクリプトでは、空白の有無に無頓着ではいけません。

投稿2021/11/23 10:23

編集2021/11/23 10:25
otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shishi_maru440

2021/11/23 11:01

アドバイスありがとうございます。 if の後の [ については修正しましたが 続いて /Users/440h/.zshrc:40: parse error near `\n' のエラーが出てしまいました。 なにか対処法ご存知でしたらご教示いただければと思います。
CHERRY

2021/11/23 11:53

(横からですが...) 3行目の if 文は、正しく閉じられていますか?
shishi_maru440

2021/11/23 11:59

if [ `uname -m` = "arm64" ]; then に変更しているので一つ目の問題は解消されたと思うのですが 何か懸念があるでしょうか??
otn

2021/11/23 13:30

fiが無いですね。
shishi_maru440

2021/11/23 21:24

最後にfiを追加して動作することができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問