タグ

shに関するkorinのブックマーク (9)

  • Bashのテストツールをつくった - 技術野郎の復習

    Bash, Shellscript, Testing Framework, Linux, ShellTL;DRtoromoti/chocomint.sh(github)数カ月前に超絶便利なBashのテストツール*1をリリースした。ジャンル的にはsstephenson/bats(github)やmpapis/tf(github)と同じようなもの。乱暴に言えば、この2つを掛け合わせたようなツール。動機Bashで書いたコマンドラインツールのテストのためになにかいいものはないかとツールを探したが、好みのものが見つからなかったから。使用感わざわざRubyなんてインストールしたくないし、もっと言えば実際に動くスクリプトのなかのコメント文にテストを書きたいというズボラな僕のためのツール。たとえば、あまり例としては良くないんですが、こういうスクリプトがあるとしたら #!/usr/bin/env choco

    korin
    korin 2014/11/13
  • z を bash で使う

    コマンドラインでのディレクトリ移動が楽になる [z](https://github.com/rupa/z) を bash で使うためのメモです。 `z` は、簡単にいえば `cd` で移動したディレクトリの履歴を取ってくれて、その後に移動する時の入力補完に使おうというものです。[autojump](https://github.com/joelthelion/autojump)もいいのですが、こちらのほうが入れるのが楽なので。 #### インストール パッケージなどはないので、手動で入れます。といっても z.sh というシェルスクリプト1個だけです。 インストール先としては、とりあえず `~/bin` にしときます。`~/bin`がない場合は、適宜掘ります。 <https://github.com/rupa/z> から z.sh をダウンロードして、`~/bin` に置きます。 その後、.

  • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

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

  • crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる

    今までナチュラルにcrontab -eでcron編集をしていたのだけど、実はこれはとてつもなく危ないやり方だった。ということを、今さら知った。 crontab -rの恐怖 crontabコマンドにはrオプション(Remove)があり、これを実行すると何の警告もなく全てが消え失せる。 macbook:~ ozuma$ crontab -l 15 * * * * /home/ozuma/bin/hoge.sh 0 9 1 * * /home/ozuma/bin/piyo.sh > /dev/null 2>&1 */5 * * * * /home/ozuma/bin/fuga.sh > /dev/null 2>&1 macbook:~ ozuma$ crontab -r macbook:~ ozuma$ crontab -l crontab: no crontab for ozuma macbo

    crontab -e は「絶対に」使ってはいけない - ろば電子が詰まつてゐる
    korin
    korin 2013/01/11
    crontab -l をやったあとに、crontab -eする派だな。んでもってTerminalソフトは全部のログが残っているので -lしとけば必ずサルベージできるはず。初回のアクセスでなければ、ターミナルのログは数年スパンでとっているのでOK
  • HOME | deactivate-domain

    You recently received an email asking you to confirm your contact details. Because you didn’t confirm within 15 days, your domain was deactivated. ​ Final reminder: we’re holding onto your domain for an additional 7 days. After that, you won’t be able to reactivate it. To keep this domain, reactivate it as soon as possible.

  • シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス

    シェルスクリプトのデバッグ シェルスクリプトをデバッグするには プログラムにバグはつきものであり、それはシェルスクリプトも例外ではない。bash にはシェルスクリプトのデバッグに非常に有効なオプションが用意されているので、「Syntax Error」で実行できない場合や、変数にどんな値が設定されているのか確認したい場合は、それらオプションを指定した上で実行することで、簡単にデバッグを行うことができる。 「-x」オプションを使用する -x オプションは、シェルスクリプト内で実際に実行されたコマンドを表示するオプションである。変数が使用されている場合は、その変数の値が展開された状態で表示される。 → bash に -x オプションを指定し、引数にデバッグするシェルスクリプトを指定する。 -x オプションでシェルスクリプトを実行すると、echo コマンドなどの出力に加えて、スクリプト内で実際に実

    シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • 本を読む 関数型言語shの基礎文法最速マスター

    関数型言語shの文法一覧です。他の関数型言語をある程度知っている人がこれを読めば、shの基礎をマスターしてshを書けるようになっています。以下、Clojureあたりを想定して説明します。 注意:これは基礎文法最速マスターねたのパロディです。動作は物ですが、意味はコジツケです。 REPL shの処理系は、POSIX準拠のUnix系環境であれば標準で用意されています。REPLを起動するには、shを実行します。 sh すると、プロンプトが表示されます。 $ shのほかに、REPLに行編集機能を付けたbash・zsh・tcshなどもありますが、ここでは割愛します。 なお、REPLとして使うほかに、あらかじめ用意したスクリプトをshで実行することもできます。 sh hoge シーケンス shの扱うデータは、すべて、ある単位(ラインと呼びます)のデータが並んだシーケンスです。たとえば、seq関数(L

  • daemontoolsのrunファイルで、exec COMMANDじゃなくてshを介してexec sh -c 'exec COMMAND'する理由 - (ひ)メモ

    だいぶ昔になんでかなーなんでだろーなーと思ったこと: dnscache-confで作ったrunファイルが、 #!/bin/sh exec 2>&1 exec <seed exec envdir ./env \ envuidgid dnscache softlimit -o250 -d "$DATALIMIT" /usr/local/bin/dnscache じゃなくて、こんなふうに、 #!/bin/sh exec 2>&1 exec <seed exec envdir ./env sh -c ' exec envuidgid dnscache softlimit -o250 -d "$DATALIMIT" /usr/local/bin/dnscache ' わざわざshをexecして、そのshのなかでお目当てのプログラムを起動してたこと。 で、今日、某IRCチャンネルみてて気がついたんです

    daemontoolsのrunファイルで、exec COMMANDじゃなくてshを介してexec sh -c 'exec COMMAND'する理由 - (ひ)メモ
  • rush

    rush is a replacement for the unix shell (bash, zsh, etc) which uses pure Ruby syntax. Grep through files, find and kill processes, copy files - everything you do in the shell, now in Ruby. Previously if you wanted to count the number of classes in your project, you might use a bash command like:

  • 1