Skip to main content

4 posts tagged with "Bash"

View All Tags

UNIX: pushd, popd, dirs - ディレクトリスタックによる移動

· 2 min read
Yu Sasaki
Enterprise Security Manager / Advisor

シェルコマンドpushd, popd, dirsを用いて、ディレクトリスタックを使うことでディレクトリ間の移動を簡潔に行うTips。

使い方

pushdでスタックにジャンプしたいディレクトリを登録し、それをカレントディレクトリとする。popdで一番最後に登録したディレクトリを取り出し、それをカレントディレクトリとする。dirsでスタック内に登録されているディレクトリを表示。

スタックへディレクトリの登録

$ pushd /Applications/MAMP
/Applications/MAMP ~
$ pushd /var/log
/var/log /Applications/MAMP ~
$ pushd /etc
/etc /var/log /Applications/MAMP ~
$ dirs -v
0 /etc
1 /var/log
2 /Applications/MAMP
3 ~
$ popd
/var/log /Applications/MAMP ~
$ dirs -v
0 /var/log
1 /Applications/MAMP
2 ~
$ pwd
/var/log

ディレクトリ間の移動

上記のスタックの状態からホームディレクトリに移動するにはpushd +2を使用する。

$ pushd +2
~ /var/log /Applications/MAMP
$ pwd
/Users/yu
$ dirs -v
0 ~
1 /var/log
2 /Applications/MAMP
$ pushd +2
/Applications/MAMP ~ /var/log
$ pwd
/Applications/MAMP
$

aliasへの登録

当コマンドをより便利に使う為に、以下のaliasやよく使うディレクトリを予め~/.bash_profile等に登録しておくと良い。

alias pu='pushd'
alias po='popd'
alias dirs='dirs -v'
alias d='dirs'
alias pu1='pushd +1'
alias pu2='pushd +2'
alias pu3='pushd +3'
alias pu4='pushd +4'
alias pu5='pushd +5'
alias pu6='pushd +6'
alias pu7='pushd +7'
alias pu8='pushd +8'
alias pu9='pushd +9'

これで若干でも日々のタイプ量が減ると思うと、かなり良い。

参考サイト

Mac OS へMySQLをインストールする方法

· 3 min read
Yu Sasaki
Enterprise Security Manager / Advisor

MAMP付属のMySQLではなくMac OSに直にMySQLをインストールする場合の手順を以下にまとめておく。

ダウンロードするもの

以下のサイトよりMySQLをダウンロードする。ダウンロード時にはアカウントの登録を求められるが特に費用は掛からない。 MySQL :: Download MySQL Community Server 私の環境はMBA 64bitである為、<Mac OS X ver. XX.X (x86, 64-bit), DMG Archive>ファイルをダウンロードした。

Bash: 数字とその他 文字列の判別

· One min read
Yu Sasaki
Enterprise Security Manager / Advisor

数字文字列とそれ以外の文字列を判別する条件式は以下の通り。

スクリプト

#!/bin/sh
if expr "$1" : '[0-9]*' > /dev/null ; then
echo "数字です"
else
echo "数字以外です"
fi

実行結果

$ ./if_numstr.sh 123
数字です
$ ./if_numstr.sh abc
数字以外です

内容

exprで正規表現を用いて数値を判定。exprは内部コード以外にも標準出力にも結果を返すので、不要なそれは/dev/nullへリダイレクトする。