0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

zshのprofile,ついでにSAC(Seismic Analysis Code)のMACでの設定の仕方

Last updated at Posted at 2020-05-01

最近MacBookAir2020を買って,ログインシェルがzshでびっくりした.
MacBookAirの最新モデル.

元々は,岡山大学での研究室ではLinux Vine,自分の所有端末はLinux Mintを使ってて,両方でbashを基本的に使っていた.
そのためか,zshでのprofile設定がいまいちわからず,bashじゃないのに,.bash_profileと.bashrcで設定しようとしたりして,四苦八苦の上,やり方わかったけど,忘れそうなので,それの備忘録.

きっかけは,SAC(Seismic Analysis Code)というIRISの地震波解析用のパッケージを使おうと思ってたが,コマンドパスがなぜか古いバージョンに繋がってしまって,修正しようとも方法を思いつかず,やむなく,ログイン時に実行されるprofile(結局はrc)設定で,無理やりエイリアスを設定しようということだ.

SACは古いバージョンが,/usr/local/bin/sacに繋がってて(なんで?),これではうまく動かなかった.
新しいバージョンでは,/usr/local/sac/bin/sacがコマンドパスだが,どうしても先に古いバージョンの方が先に引かれてしまう(今となっては,サーチ順を環境変数で先にすれば良かった.)...

そこで,先にログインの時点で,

「新しいバージョンの方にコマンドパスが繋がるように,作ってしまえばいい」

と考えて,いつものノリで,.bash_profileと,.bashrcで設定しようとした.

だが,ログインシェルが違うと,profileも異なるのは当たり前で,うまくいかなかった.
そこで,調べてみると,zshでは,

.zprofile
.zshrc

が基本的なzshのprofileのようだった.

ps.
以下は,SACも含めた解説.
詳細は,SAC for MACOS XのREADMEを参照.
SACを動かすには,Xquartzを入れておくと良い(波形などの出力はデフォルトでXquartz).
その上でSAC for Mac OS Xの中身をルートディレクトリのどこかにコピーしておく.
大体は,/usr/local/sac/というディレクトリを作っておいて,そこにコピーする.
必ず,このSACディレクトリにPATHを繋げておく.

quite.rb
$cp (SAC for MacOS X) /usr/local/sac/ 
#SAC for MacOS XはIRISからもらえるファイル

その後,bashの環境ではbashrc,zsh環境ではzshrcに以下を記述.

quite.rb
export SACHOME=/usr/local/sac/
. ${SACHOME}bin/sacinit.sh
export SACAUX=${SACHOME}/aux/

この後,

quite.rb
$. ~/.zshrc

を実行して,

quite.rb
$${SACHOME}/bin/sac/ #SACの実行ファイル

とやると,とりあえずうまくいく.
毎回zshrcを実行して,これするのは面倒なので,再びzshrcを開いて,

alias sac="${SACHOME}bin/sac"

と記述し,~/.zprofileに以下を記述.

quite.rb
if [ -fi ~/.zshrc ]; then
  . ~/.zshrc
fi

これで,

quite.rb
$. ~/.zprofile

を実行すると,以降

quite.rb
$sac

だけで,SACが使える.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?