Paepoi

Paepoi » macOS Tips » macOS を Linux のように使う

macOS を Linux のように使う

# 最終更新日 2019.04.07

bash_profile と bashrc
筆者が使っている Fedora の ~/.bash_profile と ~/.bashrc のデフォルト内容です。

.bash_profile
# Get the aliases and function
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi
.bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH
macOS の bash も上記二つを $HOME に作成すれば読み込んでくれます。
これで .bashrc を使ったカスタマイズが Linux 同様にできるようになります。
たとえばプロンプトを Fedora と同じ表示にしたい場合 .bashrc の最後に以下を追記。
PS1='[\u@\h \W]\$ '
ところで Linux の標準シェルは bash であるとはかぎりません、Debian 系は違うようです。
RedHat 系はすべて bash ですので Fedora, CentOS 等を利用したほうが懸命です。

$HOME/bin と $HOME/.local.bin
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
を指定しましたけど macOS デフォルトにはどちらのディレクトリもありません。
mkdir bin
mkdir .local
cd .local
mkdir bin
のように地味にコマンドを打って作ってください。
使い分けは自由ですが筆者が実際に Fedora でやっている例を以下に。
~.local/bin には rar 等のネットで拾ったコマンドを入れる。
~bin にはよく書き換えて使う使い捨てスクリプトを入れておく。

使い捨てスクリプトは拡張子一括変更や連番ファイルのダウンロード等々。
一行書き換えすれば使い回せるので手の届きやすい ~/bin に置いておくと便利。

実行スクリプト
macOS も実行パーミッションを付ければシバンによるスクリプト実行が可能。

Finder から command+O で使うには更に拡張子を外す必要がある。
ただこの場合カレントディレクトリは $HOME に指定されてしまう。
なので以下のようにしてカレントディレクトリを移動してから使う必要がある。

sh の場合
#!/bin/sh
cd `dirname "$0"`
# 以下普通にスクリプトを書く
Python3 の場合
#/usr/bin/env python3

import sys, os

os.chdir(os.path.dirname(sys.argv[0]))
# 以下同文
Terminal.app が無意味に立ち上がるのを無視すれば Linux 同様に使える。

Copyright(C) sasakima-nao All rights reserved 2002 --- 2020.