Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ShellScriptに関するpapiroのブックマーク (105)

  • ログアウトしてもバックグラウンド ジョブを継続する方法

    はじめに SSH 接続で時間の掛かるシェルスクリプトをバックグラウンドで走らせて帰りたいのに、SSH 接続を切るとジョブが死んでしまいます。SSH 接続に限らず目の前の OS からログアウトしたりターミナル エミュレータを終了しても同じ現象が起こります。 この症状は正常です。なぜなら、バックグラウンド ジョブを起動したプロセス(ログイン シェル)が子プロセスである該当のバックグラウンドジョブをハングアップ シグナル( HUP )によって終了させるからです。 シェルスクリプトを起動した親プロセスは子プロセスの終了状態を監視しています。ですからログアウトして親プロセスであるシェルが終了すると子プロセスはゾンビ プロセスとなってしまうので親プロセスとなるシェル(ログインシェル)は子プロセスであるバックグラウンド ジョブを kill ( kill -HUP ) するのです。 nohup コマンド

    ログアウトしてもバックグラウンド ジョブを継続する方法
  • USP友の会:シェル芸二歳、小誕生祭

    papiro
    papiro 2014/12/13
    シェル芸誕生記念日
  • One-Liner Questions and Answers

    Get solutions of one-liner programming problems

  • CalCurio.com is for sale | HugeDomains

    Working with hugedomains.com was a quick and easy process. We got to speak to multiple real people located in Colorado without having to wait on hold! Our only complaint was we felt we had to overpay more than this particular domain was worth, and we weren't able to negotiate it down to a level that we felt was fair. However, payment and delivery were seamless, and within a few hours we had all of

    CalCurio.com is for sale | HugeDomains
  • awk v.s. bashどっちが強い?@OSC2011Tokyo

    OSC2011 Tokyo/Fallで、日gnu awkユーザー会の斉藤さんと行ったプレゼンテーションです。awkとbashの馴れ合い、もとい、共存共栄がテーマです。Read less

    awk v.s. bashどっちが強い?@OSC2011Tokyo
  • AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数
  • sedで改行を出力する

    B! 33 0 0 0 sedを使って文字列を変換する際、 Mac等BSD系sedだと変換後に改行を出すのが一筋縄ではいかない、と言う話。 GNU sedでの改行変換 BSD sedでの改行出力 BSD sedでのスマートな改行出力 おまけ おまけ2 GNU sedでの改行変換 環境: Linux Bash 4.2.37 GNU sed version 4.2.1 GNU sedでは改行の出力は\nを指定してあげるだけで出来ます。 $ echo "aaa\nbbb"|sed "s/\\\\n/\n/" aaa bbb 入力の方の\nを実際の改行文字に変えたいような場合、 出力側に\nを指定してあげれば良いだけです 1。 BSD sedでの改行出力 環境: Mac Bash 4.3.24 BSD sed (May 10, 2005, バージョンの見方が分からない。。。) 同じコマンドを打って

    sedで改行を出力する
    papiro
    papiro 2014/11/21
    sedのBSD版とGNU版の違いに注意・・
  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD

    パイプライン は、最近のソフトウェアエンジニアリングにおいて、非常に便利な(そして驚くほど活用されていない)アーキテクチャパターンです。ソフトウェアでデータの流れを制御するためにパイプとフィルタを用いる考え方は、最初のUNIXシェルが作られた1970年代からあります。もしターミナルエミュレータでパイプ” | ”を使ったことがあるなら、”パイプとフィルタ”を活用できていることになります。以下の例を見てみましょう。 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l

    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
  • シェルスクリプトのWhile文で代入した変数が空になっている時の対処 | 俺的備忘録 〜なんかいろいろ〜

    先日作成を進めていたシェルスクリプトのWhile文で、変数に値が代入されていない事があったので、その備忘。 これは、Whileと他のコマンドを組み合わせた時に、その組み合わせ方に問題があるとサブシェルとして扱われてしまう事からくる問題だ。 たとえば、以下のように引数で読み込んだファイルの頭に行番号を追記するシェルスクリプトを記述したとする。 #!/bin/sh i=0 cat $1 | while read line; do i=`expr $i + 1` TEXT=$TEXT`echo $i`":$line\n"; done echo $TEXT で、実際にこのスクリプトを実行すると、以下のようになる。 /work/test$ cat test.txt testtest testtest1 testtest2 testtest3 /work/test$ sh test.sh test.t

  • -- Junky's Dive -- :: note :: FreeBSD :: ログトラップの仕込み

    あるログファイルに特定のパターンや特定の文言が出たら それをトラップして対応するアクションを行わせたい… というような仕組みを、 一般にそう言うかどうか知らないが、ログトラップと呼ぶことにする。 出来合いのツールとしては swatch が定番である。 余裕があれば|面倒クサければ、自作してもよい。 どのようなツールを使うとしても、決めておくことは以下の通り。 監視対象ファイル 引っかけたい文字列 引っかけたあとの挙動 どのユーザで処理するか swatch の設定 導入は依存モジュールの判断が面倒なので、ports から入れると楽だ。 # cd /usr/ports/security/swatch # make install clean あとは上述の4項目を仕込んでいく。 「監視対象ファイル」と「どのユーザで処理するか」は /etc/rc.conf にて設定する。 ユーザは指定しなければ

  • ERRORログをメールで通知する ~tailコマンド編~ - HDEラボ

    By Takehiko Kodama on April 1, 2008 5:52 PM | Permalink | Comments (0) | TrackBacks (0) Linuxを使っていれば、ログファイルのようにどんどん増え続けるファイルの内容を視認するために、「tail」コマンド「-f」オプションを使用して監視する場面が多いと思います。 「tail -f」コマンドは監視対象のファイルのサイズが小さくなっても自動末尾を検知し、そこから読み込みを再開します。 さらに、「--retry」オプションを使用すれば、監視対象のファイルが削除・リネームされても同じ名前のファイルが作成されると再び監視を開始するので、ログのローテーションにも対応できるというわけです。 この「tail」を利用すれば、簡単なスクリプトを使って、検知したメッセージをメールで通知ということも可能になります。 サンプルの

  • 簡単なログ監視用のシェルスクリプト - Qiita

    #!/bin/sh # メール送信設定 _to="nekogeruge_987@gmail.com" _from="appname@gmail.com" # メール件名設定 _hostname=`hostname` _application="AppName" _subject="Fatal error!!" _title="[${_application}][${_hostname}]${_subject}" # エラー条件 _error_conditions="ERROR" # ログファイルをtailし、_error_conditionsの条件にヒットしたらメールを送信する mail_alert() { while read i do echo $i | grep -q ${_error_conditions} if [ $? = "0" ];then echo $i | /usr/s

    簡単なログ監視用のシェルスクリプト - Qiita
    papiro
    papiro 2014/11/16
    ログ監視のシェルスクリプト
  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

    シェルスクリプトを書くときに気をつける9箇条 - Qiita
  • seq で 0 padding した数字列を作る

    Linux の seq コマンドは、シンプルな数列を作ってくれる。例えば、1 から 10 までの数字を表示させるには次のやうにする。 $ seq 10 1 2 3 4 5 6 7 8 9 10 途中の数字から始めたい場合は、その数字を第一引数にとる。5 から 10 までの数字列を得る場合の例は次の通り。 $ seq 5 10 5 6 7 8 9 10 このコマンドを何に使うのかというと、shell script の中で連番ファイルを作成するのに活用する。例えば、こんな感じ。 #!/bin/bash for i in `seq 10`; do echo $i.jpg done echo コマンドの代わりに、wget を使えば、連番ファイルのダウンロード。touch コマンドを使えば、連番ファイルの作成。etc... さて、10 個以上の連番ファイルを作る場合、0 パディングを加えておくと便利

    papiro
    papiro 2014/10/13
    seqコマンドは0でpaddingした文字列を簡単に作ることが出来る
  • #危険シェル芸ステッカーあげるよキャンペーン

    上田さんが #危険シェル芸 で盛り上がっている。夏だし暑くてみんな頭がやられているのではないか。 【試さないで】危険シェル芸【違法(脱法)シェル芸を勧められたり、 身近な人が持っていたりしませんか?】 そういえば、私も去年暇なときに forkbombステッカーを作っていた。 iPhoneケースにぴったりのかわいいやつです。 大量に余っているので以下URLより個人情報を送ってくれたら、先着10名様ぐらいに3枚セットでさしあげます。 危険シェル芸ステッカーほしい (受付は終了しました) どこに貼ったのかあとで写真を送ってくれるとうれしいです。 # いただいた個人情報はステッカーの発送のみに使います。

    #危険シェル芸ステッカーあげるよキャンペーン
  • 3の倍数と3が付く数字の時だけ世界のナベアツになります。 - 7010onCajonの日記

    3の倍数と3が付く数字の時だけ世界のナベアツになります。 ただのFizzBuzzです。Shellだとかなり簡単だったり。 世界のナベアツ by Shell 数え上げて、剰余算して、置換して。 seq 1 100 | gawk '{print $1%3==0?"おもろー!":$1}' | sed "s/.*3.*/おもろー!/g" 1 2 おもろー! 4 5 おもろー! 7 8 おもろー! 10 11 おもろー! おもろー! 14 おもろー! 16 17 おもろー! 19 20 おもろー! 22 おもろー! おもろー! 25 26 おもろー! 28 29 おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! おもろー! 40 41 おもろー! おもろー! 44 おもろー! 46 47 おもろー! 49 50 おもろー! 52 おもろー!

    3の倍数と3が付く数字の時だけ世界のナベアツになります。 - 7010onCajonの日記
  • 危険シェル芸が蔓延して危険 – 上田ブログ

    謎の盛り上がりを見せております。togetterのPV数、ちょっとはこっちのサイトに譲ってもらえはしないだろうか・・・。 http://togetter.com/li/709172 1日で1万5千とは・・・。 ついでに某Kさんが便乗商売やってますので、軽く一瞥したってください。 http://www.luyehuizi.com/?p=783 特にこれ以上書く事もないのでまとめをさらにまとめてみる 1分で分かる危険シェル芸。 種火 @hi_saito 危険シェル芸 — ぐれ (@grethlen) 2014, 8月 19 # rm -rf / #危険シェル芸 — ぐれ (@grethlen) 2014, 8月 20 延焼 $ :(){: | : &};: #危険シェル芸 — Ryuichi UEDA (@ryuichiueda) 2014, 8月 20 $ echo '* * * * * c

    papiro
    papiro 2014/08/22
    やるなよ!絶対やるなよ!!
  • シェル芸 - アンサイクロペディア

    シェル芸 (- げい) とは、現代においてもっとも過激と目されるCLIワンライナー原理主義の一派。武田久美子を教祖とし、夏になると信者は女も男も老いも若きも貝がらビキニで海辺をホーミタイする危険な思想である。 起源[編集] シェル芸の発祥は古く、なつやすみの感想文や学部レポートの執筆時に文字数稼ぎをねらった学生たちが、「~と考えられるが~つまり~とはいえ~」と、順接・逆接の接続詞を多用して一文を長引かせたことに由来する。 このようなデキの悪い学生が大学に進学し、UNIX系OSを触らせられると「パイプでコマンドつないだりxargs使うとカッコよくね?」と厨二病を発症してしまい、そのまま研究室に居座ったりすることでさらに悪化するとシェル芸信者となる。 現在[編集] GUIを搭載したLinuxディストリビューションのような似非UNIXの普及により、シェル芸はいったん廃れたかに見えた。しかし、20

    シェル芸 - アンサイクロペディア
    papiro
    papiro 2014/08/12
    シェル芸怖い・・・
  • 知識商人登場!當仲寛哲の巻[第1回 中内功氏との出会い] | コンピュータ・リテラシー研究会

    商人舎と商人ねっとのコラボ企画「CDオーディオセミナー『知識商人』対談シリーズ」。 業界のトップとの対談を音でお届けする好評シリーズに、 コンピュータリテラシー研究会の座長の當仲寛哲さんが登場しました。 来は、知識商人対談ブログコーナーでご紹介すべきところですが、 何しろ、研究会の座長の人柄がわかる話でもあり、情報システムをメーンに話が進みますので、 このコーナーで、じっくりと連載していきます。 情報システムとは何かが、実によくわかる対談です。<事務局> 知識商人 VOL.10 「情に報いる仕組みを作る」 ユニバーサル・シェル・プログラミング研究所 代表取締役 當仲 寛哲 氏 ****************************************************************** 結城義晴: 皆さん、こんにちは。商人舎の結城義晴です。 毎月みなさんにお送りし

  • Talpa memorandum

    橘玲の『「読まなくてもいい」の読書案内』を読んだので、感想とメモをまとめておく。 この、タイトルは『「読まなくてもいい」の読書案内』だが、実際には「読まなくていい」はほとんど紹介されていない。紹介されているのは、当たり前の話かもしれないが読むべきだ。他の読書案内と異なっているのは、”こういうは読まなくて良い”と、ばっさり切り捨てているところ。読むべきか・読まなくてもよいかの基準は、20世紀後半に爆発的に進歩した科学研究の成果に置いている。著者は、この時期に起きた科学研究の大幅な進歩を”知のビッグバン”、”知のパラダイム転換”と呼び、これ以前に書かれたは(とりあえず)読む必要がないと言い切る。古いパラダイムで書かれたは捨てて、新しいパラダイムで書かれたを読もうという話だ。ちょっと乱暴な分け方ではあるが、1980年代に大学生だった私には案外納得できるものだった。学生時代に最