Help us understand the problem. What is going on with this article?

.bash_profile追記時のホームディレクトリの表示について

More than 1 year has passed since last update.

.bash_profileに環境変数を追加したのだが、ホームディレクトリの表示に疑問を感じたのでメモしておく。コマンドの書き方がブログ記事や技術本によって様々だったので、気になってしまった。

今回登録したい環境変数

~/.composer/vendor/bin

Laravelをコマンドとして認識させるためだ。

export以降をダブルクオーテーションで囲んで実行

$ echo "export PATH=~/.composer/vendor/bin:$PATH" >> ~/.bash_profile

実際に追記されたのはこちら。ホームディレクトリまでのパスが~/のままになっている。

export PATH=~/.composer/vendor/bin:<今まで登録した環境変数>

次はダブルクオーテーションなしで実行

$ echo export PATH=~/.composer/vendor/bin:$PATH >> ~/.bash_profile

今回はホームディレクトリまでのパスが展開されている。

export PATH=/Users/ユーザー名/.composer/vendor/bin:<今まで登録した環境変数>

.bash_profileの理想の書き方とは

自分としてはセミコロンで延々とつないでいきたかったのだが・・・(これも長すぎると見辛いが。)どちらにしてもexportがもう一文追加されてしまうようだ。

.bash_profileをスマートにしたければ、現状では自分で直接編集するしかないと感じた。

$PATH自体は、ダブルクオーテーションの有無にかかわらず変数展開されるようだ。$PATHのまま表示されて変数として扱われれば、少しはコードが短くなると思ったのだが。

パスとしては変わらないが、.bash_profileのホームディレクトリの表記には3種の方法があることもメモしておく。自分としては、$HOMEが視覚的にわかりやすい。

  • ~(チルダ)
  • $HOME
  • /Users/ユーザー名

結局こうした

自分の手で.bash_profileを編集し、セミコロンで繋ぐことにした。

あ、最後にこれを忘れずに!実行しないとせっかく作ったPATHが反映されない。

$ source ~/.bash_profile

このコマンドで変数の内容も確認!こちらは実行するとホームディレクトリが全て展開された状態で表示される。

$ echo $PATH

今日はここまで。

yukibe
2018年8月よりWebエンジニア。主にPHP。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした