タグ

シェルに関するyuisekiのブックマーク (59)

  • UNIX シェルスクリプト入門

    シェルの作成・実行 ・ シェルスクリプトとは ・ シェルの書き方 ・ シェルの実行 変数 ・ シェル変数 ・ 特殊な変数 制御構文 ・ if ・ case ・ while ・ for ・ until 演算・比較 ・ 四則演算 ・ 数値比較 ・ 文字列比較 ・ ファイルチェック ・ 論理結合 関数・オプション ・ 関数の作成 ・ オプションの使用 サンプルスクリプト集 ・ 共通関数を外部ファイルに作成する ・ ヒアドキュメントの利用 ・ findコマンドの有効利用 ・ リストファイルを読み込んで処理する

  • Linuxのシェルスクリプト変数の記号あれこれ - 気まぐれな備忘録(仮)

    簡単な表記だと色々な書籍に載っているのだが、 全部が網羅されているわけではないので、 あまり使用しない表記に出くわしたら、ぐぐるしかない。 しかし、$(ダラー)、:(コロン)、=(イコール)などの記号が混じった表記は ぐぐりづらいので、ちょっと整理してみた。 表記 意味 $NAME 変数NAMEを表す。 $1, $2, …, $9 各引数を表す。順に1番目、2番目、…、9番目を意味する。 ${10}, ${11}, … 10番目、11番目、… の引数を意味する。 $0 実行されたシェルスクリプトのファイル名を表す。 $# 引数の数を表す。 $@ 引数をスペース区切りで表す。 $* 引数を環境変数IFSで区切って表す。IFSが空の場合、スペース区切りとなる。 $? 直前に実行された処理の終了コード値を表す。 $$ 現在実行中のシェルのプロセスID値を表す。 $! 直前に実行された処理のプロセ

    Linuxのシェルスクリプト変数の記号あれこれ - 気まぐれな備忘録(仮)
  • シェルスクリプトでサーバーを起動、停止する - 偏った言語信者の垂れ流し

    Flaskとかで作ったちょっとしたサーバーの起動/停止用のシェルスクリプト。 gunicornでデーモン状態にしている。 startで起動、stopで終了、restartでstop+start。 #!/bin/sh PROGNAME=`basename $0` BASEDIR=`dirname $0` PIDFILE=$BASEDIR/$PROGNAME.pid start() { echo "Starting server..." cd $BASEDIR gunicorn flaskhello:app -p $PIDFILE -D } stop() { echo "Stopping server..." kill -TERM `cat $PIDFILE` rm -f $PIDFILE } usage() { echo "usage: $PROGNAME start|stop|restar

    シェルスクリプトでサーバーを起動、停止する - 偏った言語信者の垂れ流し
  • cron で > /dev/null して椅子を投げられないための3つの方法 - 酒日記 はてな支店

    (タイトルは釣りです) いい加減、>/dev/null 2>&1と書くのをやめたらどうか - DQNEO起業日記 この記事のタイトルが twitter で流れてきたのを見て、「そうだ!出力を /dev/null に捨てるなんてとんでもないよね!」と思ってよく読んだら /dev/null に間違いなく捨てる方法だったのでつい crontabに > /dev/null 書いたら椅子投げる 2012-06-13 00:01:17 via YoruFukurou とつぶやいてしまったのですが、では出力を捨てないためにはどうすればいいのか。現時点での個人的ベストプラクティスを書き留めておきます。 デフォルト : メールで送る (MAILTO) せっかく cron daemon がログを捨てないためにわざわざメールで送ってくれるのに、それを > /dev/null で踏みにじるとはひどい。 とはいえ、

  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    入力と出力 リダイレクションとパイプ コマンドの実行結果は通常、標準出力であるディスプレイに出力される。この実行結果はリダイレクション(>、>>)やパイプ(|)を使用することにより、ディスプレイではなくテキストファイルやコマンドに対して出力するように切り替えることができる。 また、リダイレクションはコマンドの出力先をテキストファイルに切り替える以外にも、これとは逆にコマンドへの入力元をテキストファイルに切り替えることもできる。 なお、リダイレクションとパイプは次のように使い分ける。 リダイレクション データを渡す対象がファイルである場合はリダイレクションを使用する。 パイプ データを渡す対象がコマンドである場合はパイプを使用する。 リダイレクション [>, », <] コマンドの出力を file へ上書きする → コマンドの実行結果の出力先を、ディスプレイからファイルへ切り替えたい場合は、

    入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • GitHub - micha/jsawk: Like awk, but for JSON.

    If you use Jsawk and want to help maintain it, please let me know and I'll add you to the repo. Updated underscore.js to v1.8.2. Jsawk is like awk, but for JSON. You work with an array of JSON objects read from stdin, filter them using JavaScript to produce a results array that is printed to stdout. You can use this as a filter to manipulate data from a REST JSON web service, for example, in a she

    GitHub - micha/jsawk: Like awk, but for JSON.
  • シェルスクリプトでの標準入力の読み方 - USP友の会

    シェルスクリプトでの標準入力の読み方 友の会のページにあまりにもシェルスクリプトの情報が少ないので反省している会長です。 先日、あるサイトで、「シェルスクリプトで標準入力を読むためにはreadコマンドを使う」ということを書いてあったのですが、ちょっと補足が必要だと思いました。 確かに、下のようなスクリプトを使うと、標準入力を読むことができます。 ueda@uedaubuntu:~$ cat hoge.sh #!/bin/bash while read i ; do #数字を読み込んで1足して出力する。 echo $((i+1)) done 実行するとこうなりますね。 ueda@uedaubuntu:~$ seq 1 10 | ./hoge.sh 2 3 4 5 6 7 8 9 10 11 /dev/stdinを使おう でも、この方法は一番最後に、どうしようもないときにとるべき手段です。同じ

  • フィルタを使用した文字列操作 1 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → パイプでフィルタに加工したいデータを受け渡し、目的とする文字列を抽出するフィルタリング処理を行う。 パイプを使用して不必要な文字列を消去する、または適切な位置に文字列を付加する、といったフィルタを挟み込むことで目的とするデータを抽出する。 また、フィルタをパイプで複数連結することで、より複雑なフィルタリング処理を実現することができる。 sed コマンドを使用したフィルタリング 文字列 A を文字列 B に置換する sed コマンドはさまざまな機能を持ったコマンドだが、主には文字列の置換処理に利用されるコマンドである。置換処理を行う場合には、置換対象と置換後の文字列を指定してコマンドを実行する。置換対象の指定には一部の正規表現を使用することも可能である (一部の正規表現は使用できない。また、sed のバージョン等により使用できる正規表現も異なる)。 各行の最初に一致した文字列のみ置換 →

    フィルタを使用した文字列操作 1 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • Hunting Field: そのログ、色つきでtailしたくないですか?

    tailは便利だけど、白黒で見るのはすごく疲れます。 なので、色を付けてみたいと思います。 色をつけるにはANSI エスケープシーケンスを使えばよいらしい。 1、ANSI エスケープシーケンスとは。 ディスプレイに文字を表示する際のエスケープ。 つまり、今自分が使っているターミナルが、 受け取った文字列を表示する際の制御文字みたいなものらしい。 ANSI エスケープシーケンスを使うと、色を変えるだけでなく、 コマンドラインの表示をいろいろカスタムできるらしい。 ANSIエスケープシーケンスを使って端末に時計を表示するとか。 2、ANSIエスケープの書き方。 こんな感じ。 # karinoを赤色で標準出力 echo -e "\033[0;31mkarino\033[0m" # karinoの背景を緑色で標準出力 echo -e "\033[42mkarino\033[0m" # karino

  • Hunting Field: 「標準出力に色をつけたい!」と思ったときは、このコマンド使ったらいいと思う。

    「標準出力の色を変更するためのコマンド」を作った。 これを使えば、tailしているログに任意に色をつける事はもちろん、 pingなど標準出力されるもの全部に色をつける事ができる。 複雑な着色ルールでも、yaml形式の設定ファイルで簡単に設定できる。 結構うまくできた気がする。 経緯この前、標準出力に色をつける方法を知った。 そのログ、色つきでtailしたくないですか? ふと探してみると、色つきtailがあった。 pctail - CCZE に似た、Python で書かれた色つき Tail やってる事は同じ。何を使って置換するかが違うだけかな。 チョット読んでみたが・・・、色のつけ方いまいち。 せめて、IPアドレスは色変えてほしい。 そしてログだけではもったいない。 いろんなコマンドの標準出力に色をつけたい。 しかし、前みたいにperlをパイプラインでつなぎまくるのはいけてない。(って言われ

  • overlasting.net

    overlasting.net 2019 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither the service provider nor the domain owner maintain any relationship with the advertisers. In case of trademark issues please contact the domain owner directly (contact information can be found in whois). Privacy Policy

  • シェルプログラミングTips - UEC - usp engineers' community

    UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて

  • アスキーコードについて調べてみた - 昨日と今日とそれから明日

    今の子どもって、アスキーコードとかも分かってないのかもね - finalventの日記 に触発されて,アスキーコードと修飾キーの関係を調べてみた. コントロールキー テレタイプ端末、及び初期のコンピューターキーボードでは、コントロールキーを押しながら他のキーを押すと、生成されるASCIIの下位5ビット以外がゼロとなった。(中略) コントロールキーとは制御文字を生成するための修飾キーである。 コントロールキー - Wikipedia なにー,そういう意味があったのか.下位5ビットのマスクだったとは.ということは,対応している制御文字と印字可能文字は,下位5ビットが同じなのか. 確認してみる ⇒ASCII - Wikipedia アスキーコード 名前/意味 000 0011 テキスト終了 (ETX) 100 0011 C 000 0111 ベル (BEL) 100 0111 G 000 100

    アスキーコードについて調べてみた - 昨日と今日とそれから明日
  • ASCIIコード表 - Wikipedia

    ASCIIはISO標準7ビット文字コードISO/IEC 646の元となった。しかし7ビットでは英語以外の言語に対応するには不十分であり、後に他のヨーロッパ言語で使われるラテン文字への対応を追加した8ビット文字コードであるISO/IEC 8859が策定された。その後、世界中で使用されている様々な文字を表現できるようにするため、ASCIIで使用されていない128番以降の部分に、その他の文字を割り当てたり、複数バイトを使用して1つの文字を表現したりするように独自拡張した文字符号化方式が使われるようになっていった。 ASCII制定当時、最小のデータ処理単位(メモリアドレッシングの最小単位)つまりバイトが6ビットであるコンピュータも多かった(DECのPDPシリーズなど)。そのようなコンピュータでは6ビットの文字符号化方式を採用しており、そのためISO/IEC 646の策定にあたっては、7ビット符号化

    ASCIIコード表 - Wikipedia
  • コントロールキー - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "コントロールキー" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2018年3月) 101キーボードのコントロールキー(左端の一番下のキー)コントロールキー (Control key) は、コンピュータに装備されるキーボードに備わる修飾キーの一つ。修飾キーとは他のキーと一緒に押し下げることで(シフトキーなどと同様)、様々なコマンドを送信するために設けられたキー。キートップにはcontrol、CTRLないしはCtrlと刻印されている。 元来は、テレタイプ端末、及び初期のコンピュータキーボードでは、コントロールキーを押しながら他のキーを押

    コントロールキー - Wikipedia
  • azurecube » Blog Archive » ターミナル上でのCtrl-記号の扱いについて

    結論: X のterminalはいくつかの記号についてCtrlが併せて押下されていることを認識しない。 多分下記あたり。 !”#$&’()=;:*,. (5%や/?のようにShiftの押下に関わらずbackspaceのような動きをするものもあったりした) 環境: Linux Mint 10(i386) 症状: X(Gnome/KDE)環境でterminalにCtrl-,やCtrl-.を送ると,.として認識される。gEditemacsのようなエディタでは,.としては認識されない。(,や.は入力されない) 背景: Emacsのelscreenやブラウザのタブ操作にCtrl-, Ctrl-.で前のタブ、次のタブといった設定をしており、terminalでgnu screenのwindowの切り替えにも同様の設定をすることを試みる。 経緯: gnu screen の設定ファイル.sc

  • Control character - Wikipedia

    "Non-printable character" redirects here. For characters in text applications, see Non-printing character in word processors. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Control character" – news · newspapers · books · scholar · JSTOR (September 2