![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
マックの環境をあるサイトを見ながら開発していたのですが、Apacheというwebサーバーをインストールしパスを通したところApacheの起動もできず、sudoやbrewなどのコマンドが使えなくなってしまいました。
その後、色々サイトを探してどうやらPATHを重複して通していることがわかりました。理解も浅はかな初心者がいろいろターミナルをいじっていたので、のっぴきならないくらいPATHが重複されてしまい、さらにunsetで重複したものを削除しようと試みたところ悪化をたどる一方で現在は何もコマンドができない状況です。
どうしたらもとに戻るのかどなたか解決の糸口を教えてください。よろしくお願いします。
参照URL ゼロから始めるMacintosh開発環境構築
http://engineer-intern.jp/archives/11563
現在のターミナルの状況...
Last login: Mon Jun 23 19:09:16 on console
-bash: unset: `PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH': not a valid identifier
-bash: unset: `PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH': not a valid identifier
-bash: unset: `PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH': not a valid identifier
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
途中で送信してしまったので追記です。
unset PATH=/usr/local/sbin:$PATH
と記述すると、$PATHがPATHの内容に展開されて
unset PATH=/usr/local/sbin:/usr/local/sbin:...:PATH
となり、エラーメッセージとも一致します。
シェルスクリプトの書き方は、参考書や参考サイトがありますので、基礎くらいは勉強しておくとよいでしょう。
No.1
- 回答日時:
メッセージをよく読みましょう。
「PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH」は有効な識別子(valid identifier)ではない
というメッセージを 「unset」が出しています。
unset 変数名
で、「変数名」の変数を未定義にします。
その変数名として「PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH」が指定されている、というのがエラーの理由です。
シェルスクリプトでは
PATH
が変数名
$PATH
${PATH}
等が、「変数の内容を展開したもの」です。
unset $PATH
と書けば、 $PATHの内容が展開されて
unset /usr/bin:/usr/sbin:.......
(例)となり、 「 /usr/bin:/usr/sbin:....... を unsetする」という命令になります。
逆に
PATH=/usr/local/sbin:PATH
と書けば、このPATHは、「PATH」という文字列でしかありません。
「PATH=/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:/usr/local/sbin:PATH」
というのから予想すると
・最初に
PATH=/usr/local/sbin:PATH
としてしまい、それまでPATHに入っていたもの(/usr/bin等)を上書きしてしまった。
そのため、標準のコマンド(ls,cat等)が使えなくなった(PATHから探せなくなった)
・その後
PATH=/usr/local/sbin:$PATH
を繰り返したので、それまでのPATHに /usr/local/sbin を加えたものになった
( /usr/local/sbin:PATH に /usr/local/sbin を加えた /usr/local/sbin:/usr/local/sbin:PATH)
・先頭のディレクトリを削除するつもりで
unset PATH=/usr/local/sbin:$PATH
と書いた
(unset は変数そのものを削除します。変数内の特定の文字を削除するものではありません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux hosts.allowでのアクセ...
-
postfixで携帯以外に送信が出来...
-
maillogのwarningメッセージの...
-
sendmailでSMART_HOSTを設定し...
-
Postx社内PCからのみSMTP認証を...
-
SVNをADと連携させて、ユーザ/...
-
パソリRC-S380でモバイルSuica...
-
【急募】MEGAのオーセンティケ...
-
BitLockerのパスワードを定期強...
-
windows11 サービスにSecurity ...
-
ページが飛んでしまう
-
apacheのVirtualHostの記述につ...
-
proxy経由とは?
-
WebminをSSL経由に変更したい。
-
コンピュータ名、IPアドレスな...
-
Windows11 のファイヤーウォー...
-
KX-PD303の迷惑電話、非通知設定
-
QuickTime Broadcasterの成功例...
-
独自ドメインでブログ
-
ルーターの下のネームサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Postx社内PCからのみSMTP認証を...
-
maillogのwarningメッセージの...
-
SVNをADと連携させて、ユーザ/...
-
sendmailでSMART_HOSTを設定し...
-
さくらVPSでメールが受信できない
-
.htaccessへの複数設定方法を教...
-
SMTP認証で自サーバをniftyとつ...
-
postfix + Courier-IMAP でのメ...
-
さくらVPSメールサーバが動かない
-
外部送信不可?netqmailについて
-
マッチングアプリで、SMS認証(...
-
/var/log/maillogに大量にログ...
-
外部から自宅サーバー経由でメ...
-
Linux hosts.allowでのアクセ...
-
PATHの修正について(初心者)
-
Cent OS上のntpサーバ同期不可...
-
ロードバランサを自作する。
-
postfixのメールの丸投げ
-
sudo apt-get install が完了し...
-
SMS認証の手順について教えてく...
おすすめ情報