タグ

shell scriptに関するatsushifxのブックマーク (10)

  • ファイルの変更を検知して特定のコマンドを実行する bash スクリプトを書いてみた

    社会人大学院の課題で独自の bash スクリプトを提出するものがあり、その時書いたたものがわりと便利そうだったので公開します。 どんな bash スクリプト? 特定のファイル群の変更を検知して、特定のコマンドを実行する bash スクリプトです。 ビルドやテストフレームワークにあるwatchオプションを、任意のコマンド、任意のファイル群で実行できるイメージです。 -cで実行するコマンド、-fで監視対象のファイル群を指定します。 $ ./watch-files.sh -c 'echo "update"' -f './src/**/*.py' watched ./src/**/*.py ... If want to terminate, press to Ctrl-D update # -cで指定した条件に合致するファイルを変更した際に-cで指定したコマンドが実行される update # Ct

    ファイルの変更を検知して特定のコマンドを実行する bash スクリプトを書いてみた
  • Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita

    実行中のシェルスクリプトを編集すると実行している途中から動作を変えることができることはよく知られている。 例: http://d.hatena.ne.jp/sleepy_yoshi/20090917/p1 「変えることができる」というよりも現実のケースでは、実行中に意図せず内容を変えてしまうことで予想しない挙動をさせてしまうことがありうる。これを防ぐにはどうするか。 例 次のようなスクリプトを実行中に書き換えてみる

    Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita
  • GitHub - ryanmjacobs/c: Compile and execute C "scripts" in one go!

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ryanmjacobs/c: Compile and execute C "scripts" in one go!
    atsushifx
    atsushifx 2015/03/05
    情熱は買うが、ccでコンパイルして実行するだけなのでスクリプトとして使うのははなはだ危険。
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

    atsushifx
    atsushifx 2014/05/19
    できればUNIXシェルスクリプトの標準ヘッダの書き方にも言及してほしかった。意外と見つからない
  • bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ

    ログインシェルが bash に設定されている環境で、SSH 経由でログインなしのコマンド実行 (= 非対話的実行) を行うために、ユーザ独自の設定 (環境変数の変更/追加等) を設定ファイルに記述する際の注意点を、最初にまとめておきます。 SSH 経由でのコマンド実行に必要な追加設定は ~/.bashrc に記述する ~/.bashrc への記述追加の際には: [ -z "$PS1" ] && return のような、「非対話的実行時には、以降の設定評価を中断」する記述の有無を確認し 記述がある場合は、それよりも前の行で追加設定を記述する 「非対話的実行」の判定は、上記以外の方法でも可能です。必ずしも上記と同一の記述で対処しているとは限りませんから、注意してください(エントリ末尾でも、- パラメータを使った判定方法を例示しています)。 以下は、bash の設定ファイル読み込みの詳細に関す

    bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ
  • “素人集団”が強みに 基幹システムを自社開発するハンズラボ

    2013年4月に設立したハンズラボは、一見すると“非常識”と思われるような取り組みによって事業の拡大を図っている。 東急ハンズのIT子会社であるハンズラボが、基幹系など自社開発したシステムをクラウドサービスに移行する作業に取り掛かっている。年内に作業を完了するとともに、自社開発の経験を生かして外販に乗り出す。最大の売りは、オーダーメイド型システムを早く、安く作り上げること。得意とする小売業にアプローチする。 業務に精通するITメンバーたち 2013年4月に設立したばかりのハンズラボには、約30人のエンジニアらがいる。多くは、東急ハンズ社内の公募によって、前身のIT部門に異動してきた20代から60代の社員。彼ら、彼女らは業務に精通するが、ITの専門家ではない。そんなITの素人集団で、2008年からシステムの自社開発を始めた。(関連記事:東急ハンズ、ITソリューション会社「ハンズラボ」設立 ク

    “素人集団”が強みに 基幹システムを自社開発するハンズラボ
    atsushifx
    atsushifx 2013/07/23
    シェルスクリプトによるフレームワークが前提とはいえアジャイルと内製をうまく組み合わせたように見える。新しい試みというより本来のアジャイル開発プロセスになった感じ
  • tips - 君はpushd|popdを知っているか? : 404 Blog Not Found

    2010年10月02日19:00 カテゴリTips tips - 君はpushd|popdを知っているか? うーん、必要性感じたことないなあ。 上に行くcd作った - hitode909のダイアリー シェルで,上のディレクトリに行くのがめんどくさくて,cd ../../../../とかしないといけなくて,指を痛める. 上に行くためのupっていうコマンドを作ることにした. なぜないかといえば、pushdとpopdがあるから。 pushd path (cdと同じく)pathをカレントディレクトリにした上で、shellが内部的に持っているディレクトリスタックにcd先のパスを押し込む。 popd ディレクトリスタックをpopして、popされたディレクトリをカレントディレクトリにする 要するに、pushdをcdの代わりに使って、元いたディレクトリに戻りたいときにはpopdとすればよいわけです。元はc

    tips - 君はpushd|popdを知っているか? : 404 Blog Not Found
    atsushifx
    atsushifx 2011/10/05
    Debianのsh(=dash)だと入ってない
  • UNIX & Linux コマンド・シェルスクリプト リファレンス

    目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

    UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 上に行くcd作った - hitode909の日記

    シェルで,上のディレクトリに行くのがめんどくさくて,cd ../../../../とかしないといけなくて,指を痛める. 上に行くためのupっていうコマンドを作ることにした. その1 up 3ってやると,3つ上に行くのを作った. function up() { i=0 while [ $i -lt $1 ] do cd ../ i=`expr $i + 1` done } 使い方 % pwd /Users/fkd/co/dev/dotfiles % up 3 % pwd /Users/fkd %これは使いにくくて,cd ../../って打つときは,いくつ上に行くか考えながら,../って打ってる.これだと,先に数えておかないといけなくて,難しかった. その2 考えながら入力できるようにしてみた.引数の数だけ見る. function up() { i=0 while [ $i -lt $# ]

  • ほえほえ プロンプトの改造

    atsushifx
    atsushifx 2009/04/21
    実行結果をチェックして、色で結果を表示するプロンプト
  • 1