Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

実行したシェルスクリプトのおいてあるディレクトリを取得する 実行したシェルスクリプトと同じディレクトリの下に、テンポラリのファイルを置いたりディレクトリを置いたりしたくなる事があると思うのだけど、そういったときにはそのシェルスクリプトを実行した時のカレントディレクトリに注意しなくてはいけない。 #!/bin/sh touch "./hoge" こんな風なシェルスクリプト(仮に hogehoge.sh とする)にすると、/tmp に居る状態で~/hogehoge.sh を実行すると /tmp 配下に hoge ファイルが作られてしまう。 どうするかというと シェルスクリプトのディレクトリを取得して、そのディレクトリをベースとしてやれば良い。 その為に、 dirname コマンドを使う。 #!/bin/sh touch `dirname ${0}`/hoge このようにするとシェルスクリプトが
/bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く