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

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

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

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

Q&A

解決済

2回答

2961閲覧

.bash_profileを変更したらコマンドが使用できなくなってしまいました

mocha1325

総合スコア20

bash

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

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

0グッド

0クリップ

投稿2021/07/26 04:58

編集2021/07/26 12:02

前提・実現したいこと

エックスサーバー上でnodeを実行できる環境を作成するためにwebサイトを参考にしながらMacよりSSH接続を行い、設定の変更を行っていたところ、コマンドが使用できなくなりました。

エックスサーバーでHomebrewを使って開発環境を構築を参考にhomebrewのインストールに成功したのですが、[brew doctor]にて動作確認をしたところ、curlとGitのバージョンが古いとのエラーが出てしまい悩んでいたところ、こちらの記事を見つけ.bash_profileを書き換えたら

-bash: command substitution: 行 13: 予期しないトークン `username' 周辺に構文エラーがあります -bash: command substitution: 行 13: `/home/(username)/.linuxbrew/bin/brew shellenv)' -bash: /home/xxx/.linuxbrew/bin/brew: そのようなファイルやディレクトリはありません

が出るようになってしまったので、パスをいじったり追加したところを消したりしているうちに
lsなどのコマンドでもエラーが出るようになってしまいました。

$ ls -bash: ls: コマンドが見つかりません

コード

.bash_profile

# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH eval $(/home/xxx/.linuxbrew/bin/brew shellenv)eval $(/bin/brew shellenv)

.bashrc

# .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export PATH=$HOME/bin:$PATH

.profile

eval $(/home/xxx/.linuxbrew/bin/brew shellenv) export PATH='/bin:/sbin':"$PATH" eval $(/bin/brew shellenv)

パスが間違っていることまでは調べていて分かったのですが、
知識が乏しく、正しい書き方がわからないため質問させていただきました。

また、/binや/sbinの中も見てみたのですが空だったため、
.bash_profileで書き換えた内容のリセット方法時に削除のかもしれないと考えています。
そのような場合にはどうしたら良いのでしょうか?
エックスサーバーは rootがなくsudoが使えないのでどのようにしたら良いのかがまったくわかりません。。

最後まで読んでいただきありがとうございました。
ご教授いただけますと大変嬉しいです。
よろしくお願いいたしますm(_ _)m

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

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

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

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

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

otn

2021/07/26 12:22

> /binや/sbinの中も見てみたのですが空だったため、 これは具体的に何をしてどうなったのですか? > export PATH eval $(/home/xxx/.linuxbrew/bin/brew shellenv)eval $(/bin/brew shellenv) これはいったい何を見て何を目的に書いたのですか?
mocha1325

2021/07/26 12:56

コメントいただきありがとございます! ------------------------------------------------------ > /binや/sbinの中も見てみたのですが空だったため、 これは具体的に何をしてどうなったのですか? こちらは該当の記事が見つからなかったのですが、 エラーを検索した際にヒットした記事に載っていた unset から始まるコマンドを打ったためだと思いますm(_ _)m このような回答しかできず申し訳ないです。 ------------------------------------------------------ > export PATH eval $(/home/xxx/.linuxbrew/bin/brew shellenv)eval $(/bin/brew shellenv) これはいったい何を見て何を目的に書いたのですか? こちらについてはこの記事かと思います。 デフォルトを覚えていないので間違えている可能性もありますが、よろしくお願いいたします。 https://raspi.ryo.sc/xserver-pip3-install/
guest

回答2

0

ベストアンサー

このような回答しかできず申し訳ないです。

具体的に何をしてどうなったかの記憶も記録も無いと言うことですか?
記憶力に自信が無い場合は、きちんと記録しましょう。

では、

また、/binや/sbinの中も見てみたのですが空だったため、

の記述は無かったものとして無視します。

こちらについてはこの記事かと思います。

.bashrcをエディタで編集せずに、echo '~~' >>~/.bashrcみたいなことをやってしまったという事のようで、悪いページを参考にしてしまいましたね。

おそらく、

Bash

1export PATH 2eval $(/home/xxx/.linuxbrew/bin/brew shellenv) 3eval $(/bin/brew shellenv)

のように改行が入るのが正しいのでしょう。

ファイルの修正はエディターで行いましょう。

なお、PATHがおかしいだけでしょうから、コマンドはフルパスで/bin/lsまたは/usr/bin/lsのようにすればほとんどのコマンドは実行できます。

投稿2021/07/26 13:10

otn

総合スコア84499

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

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

mocha1325

2021/07/27 13:28 編集

ご回答いただきありがとうございます! ファイルの編集はエディターで行うのが良いのですね!覚えておきます! otn様の助言通り改行を入れたところ無事コマンドが使えるするようになりました。 echoからの入力により改行がなく誤作動になってしまったいた、ということなのでしょうか。 分かりやすく答えていただき大変参考になりました! この度はありがとうございましたm(_ _)m
guest

0

bash_profile 復元 - Google 検索

これでどうでしょうか

投稿2021/07/26 05:06

y_waiwai

総合スコア87747

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

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

mocha1325

2021/07/26 11:18

ご回答いただきありがとうございます! 教えていただいた検索ワードで調べてみたのですが、恥ずかしながらどのように書いたら良いのかが理解できませんでした。 例えば、 > $ export /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/home/(ユーザ名)/bin を設定する方法などがよく見られるのですが、 > 上記のコマンドを実行すると、各種コマンドが使用できるようになっているはずです。あとは、ゆっくり.bash_profileを修正し直します。 などと書かれており、この「ゆっくり.bash_profileを修正し直す」が分かりません。 これ以上書き換えていくと本当に全てが無駄になりそうで怖いのですが、この方法は良いのでしょうか? お忙しい中大変恐縮ですがどのように修正していけば良いのかヒントだけでもいただけますと有り難いです。よろしくお願いいたします。
y_waiwai

2021/07/26 12:00

結局そいつをいじり壊してしまったためにそうなってしまったんでしょう。 なら、そいつを初期値に戻してしまえばいいってことになります。 提示したリンク先にはそのための方法が書いてありますが、参考になりませんか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問