タグ

shellscriptに関するs_moriのブックマーク (19)

  • sortコマンド、基本と応用とワナ - Qiita

    sortコマンド、使いこなしてる? UNIXの基コマンドの一つsortコマンド。アナタはどれくらい使いこなしているか? 何にもオプションを付けずにsortと打ち込むくらいしか知らない、というなら、これを見て便利に使おう。 基編. 各行を単なる1つの単語として扱う sortコマンドの使い方には基と応用がある。基的な使い方は単純で、各行を1つの単語のように見なしてキャラクターコード順に並べるなどの使い方だ。 (オプションなし)……キャラクターコード順に並べる $ cat <<EXAMPLE | sort > perl > ruby > Perl > Ruby EXAMPLE Perl ← 註) Ruby ← キャラクターコード順なので perl ← 大文字から先に並ぶ ruby

    sortコマンド、基本と応用とワナ - Qiita
  • 【bash】whileの代わりにxargsでループ処理を行う

    $ find . -type file | sed &#39;s;./;;&#39; | while read f; do echo cp $f $(echo $f | sed &#39;s;/;_;g&#39;); done > cp a/001 a_001 cp a/002 a_002 cp b/c/123 b_c_123 cp b/xxx b_xxx cp b/yyy b_yyy となります。 このwhileのところをxargsで置き換えると

  • シェルスクリプトの set -e は罠いっぱい

    ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu Perl では最初に use strict; use warnings すべきなように、シェルでは set -u すべき。「例外処理って何? おいしいの?」って人は set -e もしておけ。 2012-06-25 18:25:20 ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu シェルスクリプトをまともに書けない奴は、それでも書かなければならないときは、とりあえず変数展開するとき必ずダブルクォートで括れよ。$foo じゃなくて "$foo” な。あと最初に set -u; set -e でもしておきな。シェルスクリプトが駄目なんじゃなくて、書けないだけ。 2012-12-22 00:27:38

    シェルスクリプトの set -e は罠いっぱい
  • ターミナルのディレクトリ移動を高速化する - Qiita

    tl;dr よく使われるコマンドの一つに cd コマンドがあります。ターミナル生活の 80% 近くは cd と ls である、という英文記事を何処かで見かけました。それを効率化しようという Tips です。 目的 cd はよく使われるのに使い勝手が悪いコマンドである気がしてなりません。cd コマンドは有効なパス(相対パス、絶対パスは問わず)しか解釈してくれないからです。つまり、存在していて尚且つパスが解決できるものに限るのです。例えば、ホームディレクトリにいるときに、/home/lisa/work/dir に行こうとして cd dir とだけタイプしても no such file or directory (そんなディレクトリは見当たらないよ!)と言われてしまいます。きちんとした経路でなければならないのです。いちいちパスを覚えていない場合や、部分的にしか思い出せない場合には結構面倒ですよね

    ターミナルのディレクトリ移動を高速化する - Qiita
  • spark: シェルスクリプトで棒グラフ表示

    B! 251 0 0 0 GitHubで面白そうなシェルスクリプトを探してる時に見つけた Spark by holman について。 数値を棒グラフ上に表示してくれるスクリプトです。 Spark 使用例 Spark Spark は数値群を引数に与えるか標準入力で与えてあげると その数値群を棒グラフに変換してくれるシェルスクリプトです。 インストールはGitHubのレポジトリ から直接sparkというスクリプトファイルを取ってきてPATHの通った所に入れるか、 MacであればHomebrewで $ brew install spark でsparkコマンドが使えるようになります。 使い方は非常にシンプルで $ spark 0 20 40 60 80 100 ▁▂▃▅▆█ こんな感じで数値を与えるとそれを棒グラフにしてくれます。 インプットに使える数字は少数も使えますが、 実際に使われる際には

    spark: シェルスクリプトで棒グラフ表示
  • シェルで変数のインクリメントに expr を使うと100倍遅い件

    シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

    シェルで変数のインクリメントに expr を使うと100倍遅い件
  • 意識の低い自動化

    意識を低く保ったまま、定型作業を自動化する話です。 ※どうも言葉足らずで誤解させてしまっているようなので補足を書きました。ご覧ください http://qiita.com/greenspa/items/fff535d2ae5da36e36feRead less

    意識の低い自動化
  • サーバ大量構築時のキモ ~シリアルナンバーからIPアドレスを自動設定するスクリプト(Ubuntu編)~ | 俺的備忘録 〜なんかいろいろ〜

    CentOSも記述したので、こちらも同様に修正。 修正内容もCentOSのスクリプトと同様で、hostlistのキーとなる値をUUIDからシリアルナンバーに切り替えただけだ。 そのため、ここではスクリプトだけを記載する。 ●setip.sh #!/bin/sh function get_network() { local NETWORK="" local BROADCAST="" local NETMASK="" local IPADDR="$1" local MASKBIT="$2" local ip_array=(`echo "$IPADDR" | sed -e "s/\./ /g"`) local ip_index=0 while [ $ip_index -lt 4 ] do if [ "$MASKBIT" -lt 8 ] then MASK=$((256-2**$((8-MASKB

  • シェルスクリプトを公開するとき, コマンド前にバックスラッシュをつけるべき - Shohei Yoshida's Diary

    oh-my-zsh の環境で、peco-select-history が動かない - Qiita 追記 2014年 7月 7日 シェルスクリプトと書いてしまい漠然すぎましたが, ここで述べている ことが問題になるのは, .bashrc, .zshrcに関数, alias設定等がコピー される場合や, sourceコマンドでファイルを読み込む場合です. non-interactiveに実行されるシェルスクリプトについては特に 問題ないです. 問題点 そうしないと, 公開されたコマンドを自分の環境に導入した場合, aliasにより正しく動かなく場合があるためです. aliasをつけがちな コマンド(ls, grep等)がシェルスクリプトに含まれていると 特に問題が起こる可能性が高くなります. 例 pecoを使って カレントディレクトリのファイルをページャで開く 例を考えてみましょう. 単純に考

    シェルスクリプトを公開するとき, コマンド前にバックスラッシュをつけるべき - Shohei Yoshida's Diary
  • Ryncが絡むBashスクリプトの設計方針 | RickyNews

    s_mori
    s_mori 2014/05/17
    ssh rsync
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • 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 コマンド・シェルスクリプト リファレンス
  • [bash] シェルスクリプト入門 ~シェルスクリプトのいろは~ - SUNONE BLOG

    意外に知らない人が多いシェルスクリプトについて、基的な部分の解説を書いてみました。主に初心者をターゲットとした内容なので、中~上級者は『UNIX & Linux コマンド・シェルスクリプト リファレンス』を参照してください。 ※ここに書かれた情報は完全に正確ではないかもしれませんが、大よそ間違いはないはずです。また、文中にある筆者のシェルスクリプトのコーディングスタイルは、それなりに洗練されていると思うので推奨します。 シェルスクリプトとは? 複数のコマンドと条件分岐やループ処理等を使用し、一連の処理を実現するプログラムのことです。bash、zsh などのシェルを利用し、シェルによって解釈・実行されるスクリプトなので、シェルスクリプトと呼ばれます。 ※「シェルスクリプト」を単に「シェル」と呼ぶ人がいますが、それは間違いです。 「シェル」と「シェルスクリプト」は、無関係ではないが厳密には別

  • シェルスクリプトを書く時に気をつけている事など - Qiita

    あくまでも個人的な意見であって、自分がシェルスクリプトを書く時に気をつけている事を備忘録的に列挙しているだけです。 「こうするべきだ」と押しつけている訳ではありません。 勿論「私はこうしている」とか「こうすると良いよ」という意見や議論は大歓迎です。 export (1) しないシェル変数は全て小文字で書く。 PATH や HOME などは環境変数なので大文字で。 スクリプト内で使っているのは単なるシェル変数なので小文字で。 使い方をちゃんと区別する事は重要だと思う。 シェルの変数展開を活用しよう

    シェルスクリプトを書く時に気をつけている事など - Qiita
  • 連載記事 「ステップ・バイ・ステップ・シェルスクリプト」

    2つの顔を持つソフトウェア:シェル ステップ・バイ・ステップ・シェルスクリプト(1) この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基的な知識を説明していきます

  • はてなブログ | 無料ブログを作成しよう

    今の自分は、出会った人や読んできたによって、できあがっている あの小冊子は、新聞の付録だったのか、記憶が曖昧で定かではないのだが、1ヶ月に1回程度の頻度で届いていた気がする。オールカラーで内容もさまざまだった気がする。その中には、プロ野球の選手名鑑もあって、私は、母から受け取り、大切にしていた記憶がある。母は、…

    はてなブログ | 無料ブログを作成しよう
  • シェル・スクリプト・リファレンス INDEX:ITpro

    新法で「アプリストアを競争状態に」の現実味、公取委はAppleGoogleと長期戦も 2024.05.16

    シェル・スクリプト・リファレンス INDEX:ITpro
  • シェルスクリプトに最適な「ガワ」を求めて - builder by ZDNet Japan

    ワケあって、シェルスクリプトに使う「ガワ」の情報を整理している。利用環境はSnow Leopard限定、しかもUNIXの流儀に不慣れな層に配慮せねばならず、どうしたものかと。簡潔かつ実用的に、しかも扱いやすい形を模索しているのだ。 オーソドックスな形は、やはり「ダブルクリックに対応させる」ことだろう。実行属性(chmod + x ~)を与えたうえで、拡張子を一般的な「.sh」とせずTerminalに関連付けられた「.command」にしておけば、ダブルクリックでTerminalの起動からシェルスクリプトの実行までを処理するファイルとなる。特別な準備が必要ないことが利点だが、見栄えせず目立たないことは欠点といえるかもしれない。 Automatorという手もある。シェルスクリプトインタープリタとして機能する「シェルスクリプトを実行」アクションを利用すれば、他のアクションからファイルなどを引数と

    シェルスクリプトに最適な「ガワ」を求めて - builder by ZDNet Japan
  • date コマンドって超便利

    Landscape トップページ | < 前の日 2003-10-28 2003-10-29 次の日 2003-10-30 > Landscape - エンジニアのメモ 2003-10-29 date コマンドって超便利 当サイト内を Google 検索できます * date コマンドって超便利この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [Linux] date --date で書式を指定すれば、自由自在に日付計算ができる。一か月前とか18年前とか5日後とかの日付や曜日を簡単に求められる。また、+%Y などの出力書式文字列と同時に使うこともできるので、日付と時刻を好きな形式で整形して文字列として出力できる。 JM 読んでたらしっかり書いてあった。 date date.1 in GNU_sh-utils http://www.linux.or.jp/JM/h

  • 1