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

OSC 2011 Tokyo/Fall で「覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54」というシェルスクリプトの本を見つけました。このブログの過去記事と絡めて、2つレシピを取り上げ、どういった内容かを紹介します。サンプルコードは単純なものに変更しました。 レシピ5-5 1行ごとに処理をする―その2〜4― comm の結果を検索キーにして grep するには - わからん 以前、comm -3 の結果を検索キーにして grep する方法として、以下のようなコードを書きました。 comm -3 a.txt b.txt | while read word; do echo "--" grep $word c.txt done この while read line 構文は、「レシピ5-4 1行ごとに処理をする その1」でも紹介されているのですが、問題点として while の行ル
最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep
IDEの発展やAjaxなど現在のデベロッパにとってGUIとうまくお付き合いすることは開発効率を上げるうえで必須といえる。しかしながら、シェルというCUI環境も根強い人気がある。GUIと違ったカスタマイズ、アジリティ、効率の良さ、幅広い対応プラットフォームなど、なくてはならないものだ。 本連載ではそうしたCUI環境の充実を補佐することを目的とし、"zsh"について語ってみようとおもう。かつてzshはUTF-8の扱いが弱いところがあったが、それもずいぶんと改善され、ここ1年でzshへ移行しやすい状況が整ってきている。はじめるには悪くないタイミングだ。 最初に軽くzshについて紹介しておこう。 名前につく"z"の文字は、「究極の」という意味がこめられているらしい。系統としてはsh系である。つまり、zshはsh系の超高機能シェルといえるだろう。Linuxなどのユーザーであればsh系であることの意味
シェルで,上のディレクトリに行くのがめんどくさくて,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 $# ]
Linuxでテキストデータを扱うときに、コマンドをパイプで繋げるだけでいろいろな処理ができて面白いのですが、綺麗に整理されていない気がするのでまとめてみます。ここでは、cat, paste, join, grep, head, tail, cut, awk, sed, tr, sort, uniq, wc を取り上げます。 ファイルを縦に結合 ファイルを縦に結合します。 コマンド 説明 cat file1 file2 ... file1, file2, ... を縦に結合 cat file | ... としてファイルの中身をパイプに流すのにもよく使います。 ファイルを横に結合 ファイルを横に結合します。あまり使わない?*1 コマンド 説明 paste file1 file2 .. file1, file2, ... を横に結合 join file1 file2 file1 と file2
sorry Japanese only 最終更新日 2014/08/13 page size = Mbyte 例題を沢山書いた方が分かりやすいだろうと思うので、例題のみです。 43 23 * * * 23:43に実行 12 05 * * * 05:12に実行 0 17 * * * 17:00に実行 0 17 * * 1 毎週月曜の 17:00に実行 0,10 17 * * 0,2,3 毎週日,火,水曜の 17:00と 17:10に実行 0-10 17 1 * * 毎月 1日の 17:00から17:10まで 1分毎に実行 0 0 1,15 * 1 毎月 1日と 15日と 月曜日の 0:00に実行 42 4 1 * * 毎月 1日の 4:42分に実行 0 21 * * 1-6 月曜日から土曜まで 21:00に実行 0,10,20,30,40,50 * * * * 10分おきに
シェル変数に改行を入れる方法はどうなのかなと、調べました。 ちなみに、以下はsh限定の話です。 以下のhoge.shシェルスクリプトを実行した場合の出力は #!/bin/sh FOO="aaa bbb ccc" echo -e "$FOO" このように↓ aaa bbb ccc 改行が改行として認識されている つまり、$FOOシェル変数に入っている改行文字が、正しく出力されている。 ということで よくわかる解説っ!(平○教育委員会風) ポイント1) $FOOは以下のように宣言しても、同じ結果(改行は認識される)となる。 これでも FOO='aaa bbb ccc' これでも FOO="aaa\nbbb\nccc" これでも FOO='aaa\nbbb\nccc' 期待した結果になる! ポイント2) echo $FOO では、改行は半
ユーザー定義変数の使い方 変数は、シェルの世界、とくに英語のドキュメントでは「パラメータ」と呼ばれていますが、日本語でパラメータというとどうも違う意味にとられがちなので、ここでは「変数」と呼ことにしたいと思います。ではシェルスクリプトにおける「変数」の取扱と特徴について見ていくことにしましょう。 シェルやシェルスクリプトで変数を定義する場合は、 のように記述します。とくに前もって変数を宣言したりする必要はありません(宣言することもできますが)。‘=’の両側にスペースをあけたりしてはいけません。C言語などの変数代入などの際にスペースをあける癖のある方は気をつけてください。 格納された値を参照する場合は、変数の先頭に‘$’をつけます。ためしにechoを使って標準出力に変数を表示してみます。
シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。 またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。 シェルスクリプトを実行するには実行権限および読み込み権限が必要です。 またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。 スクリプトファイル内でも、シェル変数を定義することができる。またその変数を参照する場合は変数名の前に" $ "を 付けることで参照できる。変数名に使用できる文字は英数字および" _ "(アンダーバー)であり先頭は英字を使用しなくてはならない。
シェルの作成・実行 ・ シェルスクリプトとは ・ シェルの書き方 ・ シェルの実行 変数 ・ シェル変数 ・ 特殊な変数 制御構文 ・ if ・ case ・ while ・ for ・ until 演算・比較 ・ 四則演算 ・ 数値比較 ・ 文字列比較 ・ ファイルチェック ・ 論理結合 関数・オプション ・ 関数の作成 ・ オプションの使用 サンプルスクリプト集 ・ 共通関数を外部ファイルに作成する ・ ヒアドキュメントの利用 ・ findコマンドの有効利用 ・ リストファイルを読み込んで処理する
1 Mar 1999 NAMErsync - rcp よりも速くて、柔軟性に富んでいます SYNOPSIS rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST rsync [OPTION]... [USER@]HOST:SRC DEST rsync [OPTION]... SRC [SRC]... DEST rsync [OPTION]... [USER@]HOST::SRC [DEST] rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST] 説明 rsync は rcp とほとんど同じ方法で動くプログラムですが、より多くの オプションを持っています。目的のファイルが既に存在する場合に、 rs
wget オプション 同一のオプションに、'-V' という短い形式と '--version' という 長い形式があります。(一部、長い形式だけのものあり) -o log1.txt と --output-file=log1.txt は、同じ事を指定しています。 (スタートアップ) -V --version Wget のバージョンを表示します。 -h --help オプションの一覧の簡単なヘルプを表示します。 -b --background バックグランドで実行します。 Continuing in background. Output will be written to `wget-log'. と表示してバックグランドで実行します。 状況はログファイルに書き出されます。 [Wgetrc] background = on/off -e COMMAND --execute=COMMAND 設
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
■はじめに cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。特に、バックアップなどは、システムへの負荷が大きいため、通常は、ユーザからのアクセスが少ない、深夜や早朝に行なわれます。 このように、定期的に実行されるジョブは、crond というデーモンによって、自動的に行なうように管理することができます。そこで、今回は、cron の設定を行なうために必要なコマンドや、設定ファイルについて説明していきたいと思います。 ■設定手順 このページでは、以下の順番で cronの設定について説明します。 まず、Linuxシステム上で、cron を使用するために、サービスの起動で、サービスの状態を確認し、停止している場合には、サービスを起動します。
uchiumiです。 今日は前回の続きで、リモートサーバにアクセスし、その中でユーザを作るなどの作業をしました。 また、覚えておきたいshellコマンドを教えていただきました。 まず今日教わったコマンドは以下になります。 who ・・・ 誰がログインしているかを知る sudo su -ユーザー名 ・・・ ユーザーを変更する sudo /usr/sbin/adduser 作成したいユーザー名 ・・・ ユーザーを作る sudo /usr/sbin/userdel 消したいユーザー名 ・・・ ユーザーを消す exit ・・・ 一つ前のユーザーに戻る adduserコマンドなどは、スーパーユーザーしか実行できないものなので、コマンドが入っているフォルダから指定する必要があります。 またユーザーを追加するという処理は、MAC上で行うとパソコンはおかしくなってしまうみたいなので、試すならこのサーバー(
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く