タグ

shellに関するama-chのブックマーク (14)

  • direnv – unclutter your .profile

    direnv – unclutter your .profile direnv is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory. Use cases Load 12factor apps environment variables Create per-project isolated development environments Load secrets for deployment How it works Before each prompt, direnv checks for the existence o

    ama-ch
    ama-ch 2014/03/07
    “direnv is a shell extension that loads different environment variables depending on your path.”
  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

    ama-ch
    ama-ch 2013/12/17
  • Shell Style Guide

    Revision 1.25 Paul Armstrong Too many more to mention Bash is the only shell scripting language permitted for executables. Executables must start with #!/bin/bash and a minimum number of flags. Use set to set shell options so that calling your script as bash <script_name> does not break its functionality. Restricting all executable shell scripts to bash gives us a consistent shell language that'

  • 私が他人のシェルスクリプトから学んだこと | Yakst

    私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e

    私が他人のシェルスクリプトから学んだこと | Yakst
  • shunit2 - Google Code

    Code Archive Skip to content Google About Google Privacy Terms

  • Test-Driving Shell Scripts | Envato Tuts+

    Writing shell scripts is very much like programming. Some scripts require little time investment; whereas, other complex scripts may require thought, planning and a larger commitment. From this perspective, it makes sense to take a test-driven approach and unit test our shell scripts. To get the most out of this tutorial, you need to be familiar with the command line interface (CLI); you may want

    Test-Driving Shell Scripts | Envato Tuts+
  • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

    コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

    Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
  • Frequently-Asked Questions about sed, the stream editor

    Archive-Name: editor-faq/sed Posting-Frequency: irregular Last-modified: 10 March 2003 Version: 015 URL: http://sed.sourceforge.net/sedfaq.html Maintainer: Eric Pement (pemente@northpark.edu) CONTENTS 1. GENERAL INFORMATION 1.1. Introduction - How this FAQ is organized 1.2. Latest version of the sed FAQ 1.3. FAQ revision information 1.4. How do I add a question/answer to the sed FAQ? 1.5. FAQ abbr

  • Lightweight git hook management tool その名も git-hook を作りました - 鳩舎

    どうもこんにちは。フックしてますか。ジャブからローにつなげてますか。 そんなこんなで最近は僕もそこそこ git に慣れてきて助けてもらわなくても良くなって来ました。 しかし人間の欲望はとどまるところをしらず、「なんか定形作業めんどくせーなだるいしなんかうまいことどうにかなれよ面倒くせぇ」とか考え始めるものです。たとえば「テスト通ってないコードコミットするなってリーダーがいうけどいちいち手でテスト走らせて確認すんのだるいからなんかうまいこと自動で動かんかな」とか。 git は大変よくできたツールですので、そういうのもちゃんと用意されています。hooks といって、コミットのタイミングなどで特定のシェルスクリプトなりなんなりを動かすことが出来るよう配慮されているのです。すげーな git 。 しかしこいつがマジめんどくさい。自分でシェルスクリプト書くとか絶対嫌だし、すでにそのへんに転がってるのを

    Lightweight git hook management tool その名も git-hook を作りました - 鳩舎
  • xargs -P が激しく便利なのでメモ - おともだちティータイム

    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

    xargs -P が激しく便利なのでメモ - おともだちティータイム
    ama-ch
    ama-ch 2012/11/30
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • awk歴一日の初心者が語るawk理解のポイント - シリコンの谷のゾンビ

    今までテキスト処理などでワンライナーを使うときはperlを使っていた.Perlを先に覚えた身としてはawkやsedは過去の産物だと思い込んでいた.awkの方が簡潔に書けるケースに出くわしたことをきっかけにawkを勉強してみたら単なわず嫌いだったことに気が付いたのでポイントをまとめてみる. なおプログラミング言語としてはAWKという表記が正しく (Aho, Weinberger, Kernighanの頭文字! ということだけは以前から知っていた),オリジナル処理系のことをawkと呼ぶのだろうけれど,今回は処理系の違いは気にしないのでawk, nawk, gawkの違いは気にしないことにした.ていうか詳しく知らない. 「awkってなんぞ?」という方が対象読者.スクリプト言語と正規表現の基礎知識が少しでもあれば,たぶんすぐに使えるようになると思う.awkを一度でも使ったことがある人には新しい情

    awk歴一日の初心者が語るawk理解のポイント - シリコンの谷のゾンビ
  • おすすめzsh設定 - 2011-09-05 - ククログ

    他の人がzshを使っているのを見ていると、「もっと便利に使えるのに」と、もやっとしたり、「え、その便利な機能ってなに?」と、発見があったりします。だれかに「この設定をすると便利ですよ」と話しやすくするために、今のzshのおすすめ設定をここに記しておきます。 もし、Emacsも使っている場合はおすすめEmacs設定もどうぞ。 ディレクトリ構成 長年漬け込んできたzshの設定がそこそこの量になっているので、以下のようなディレクトリ構成にして分類しています。主に、zsh標準機能の設定と追加パッケージの設定を分けるためにこうしています。 ~ ├── .zshrc # シェルを起動する毎に読み込まれる。 │ # ~/.zsh.d/zshrcを読み込んで │ # 標準機能の追加設定を行う。 ├── .zshenv # ログイン時に一度だけ読み込まれる。 │ # ~/.zsh.d/zshenvを読み込ん

    おすすめzsh設定 - 2011-09-05 - ククログ
  • What are some time-saving tips that every Linux user should know?

    Answer (1 of 179): People already mentioned C-R to search bash history. I find inserting below line into ~/.bashrc is really useful export HISTSIZE=32768 Bash history can contain 32768 items now. UPDATE: I'm surprised many people are interested in this tip. Then here are some extra tips abou...

    What are some time-saving tips that every Linux user should know?
  • 1