■ [Mac OS X] シェルスクリプトとかの CUI アプリケーションを Mac OS X 方式の .app にする方法 [簡単 5 ステップ] シンプルで高性能な Mac OS X 用の sshfs 実装の sshfs for Darwin の 2.5.0 をリリースしました。 で、今回 mount/umount を Terminal.app からではなくて Finder から出来るような形にしたのでその方法。
シェルスクリプト書くときだいたいいつも必要になるけど、たまにしか書かないので忘れがちなやつをメモ。随時更新予定。 なお、全てMac OS Xの/bin/shを想定している。 絶対パスを得る fullpath=$(cd $(dirname $0) && pwd) $0はシェルスクリプト自身を表すので、シェルスクリプトファイルの相対パスが得られる。 そのディレクトリでpwdすると、絶対パスが得られる。 $0のかわりに相対パスを与えると、そのファイルの絶対パスが得られる。 なお、括弧の中でcdしているが、その後の処理には影響しない。 配列 配列を作成 arr=(a b c) echo ${arr[0]} # => a ${配列変数名[index]}と、"{}"で囲む必要あり インデックスはshでは0始まりだが、bashやzshだと違うみたい?なので注意 配列の要素数を得る $#arr # =>
シェルスクリプトを作っていて、一連の処理の途中でエラーが発生したら、それ以後の処理の実行を中止したいことがあります。 そんなときは、シェルスクリプトの最初に「set -e」と記述します。そうすれば、それ以後に実行したコマンドの終了ステータスが0以外になった場合、その時点で処理を中止します。 動作確認のために、次のようなシェルスクリプトを実行してみました。 シェルスクリプト(test.sh) #!/bin/sh set -e echo "start" ./test2.sh echo "end" シェルスクリプト(test2.sh) #!/bin/sh echo "test2" exit 1 この実行結果は次のようになりました。 $ ./test.sh start test2 $ test2.shの「exit 1」を「exit 0」にすると、「end」まで表示されます。
MySQLのSQL文を、OSのコマンドラインまたはシェルスクリプトから実行したい時の例を、いくつか。 まずコマンドラインからサクッと実行するには、-eオプションを利用。 $ mysql -u user_name -pxxxxxx -e “SQL文” 「;」で区切れば複数のSQL文発行も可能。 $ mysql -u user_name -pxxxxxx -e “SQL文;SQL文;SQL文” 以下の方式でも可。 $ echo “SQL文;” | mysql -u user_name -pxxxxxx これらのコマンドラインをそのままシェルスクリプトに書いてもいいわけだ。 次にSQL文をファイルに記述しておいて読み込ませる方法。 “file_name”にはSQL文が記述されているものとする。 $ mysql -u user_name -pxxxxxx < file_name 上記はSQL文にお
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く