はじめに zshやbashで作業しているとよく移動するDirというのがあると思います。 また、久しぶりにLoginしたサーバでは、どこが大事なDirかを忘れてしまうこともあるかと思います。 そういうときに、よく使うDirをBookmark?しておくと便利です。 追記: 2014/3/20 @mollifier さんが作成したzshによるPluginは補完が効くので更に便利です! よく使うディレクトリをブックマークする zsh のプラグイン 準備 下記のようなものを .zshrcや.bashrcに書いておきます。 書いたら source ~/.zshrc などして読み込んでください。 BMRC=~/.bmrc touch $BMRC bmls() { cat $BMRC | sort -n } bmvi() { # open BMRC with EDITOR. ${EDITOR:-vi} $
どこの現場にも秘伝のたれ状態になったシェルスクリプトっていうのがあると思うのですけれども、ここの現場はみんなPHP使いなんでシェルスクリプト触りたくねえ、ていう状態のところに投入された僕が来ました。わしつい最近まで印刷屋さんだったんだけどもわしに任せてしまっていいんだろうか。 で、伝統を守り抜いたシェルスクリプトの中で自ホストに設定されたIPアドレスを得るコードがifconfigをこねくってeth0の所から得ようとしていたのですが、最近のサーバって必ずしもeth0が存在するってわけでもないのでこういう悪い習慣をここで断ち切ることになりました。 シェルスクリプトでIPアドレス得るために、シェルから使える環境変数で何か役立つものねえかなあと思っていたら、当然${HOSTNAME}は鉄板なんで、こいつをgetent hosts に入れてやればいいんでね、ていうアイディア。LinuxとFreeBS
私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、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
Index データ集計コマンド 爆速で検索したいぜ! lookを使う LC_ALL=Cを設定する データのランダムサンプリングがしたいぜ! sedを使う awkを使う sortの--random-sortを使う Script言語を使う shufを使う ランダムサンプリング速度比較 合計と平均値を集計したいぜ! 列データ取得 重複行のカウント 合計値出力 平均値出力 複数ファイルのデータ結合がしたいぜ! 共通項目での結合 同じ行数での結合 まとめ データ集計コマンド joinコマンドが便利過ぎて生きるのが辛い - Yuta.Kikuchiの日記 lookコマンドによる二分探索が速すぎて見えない - Yuta.Kikuchiの日記 今日はデータ集計を行う上で絶対に覚えておいた方が良いコマンドと知識を紹介したいと思います。これを身につければシステム処理と業務効率化に大きく繋がると思います。この記
OSコマンドの基本動作として、パイプでコマンドを連結すると最後に実行されたコマンドの戻り値が特殊変数"$?"に格納される。 #[例1] コマンド1 | コマンド2 echo $? # コマンド2の戻り値が格納 各コマンドの戻り値の取得方法 ${PIPESTATUS}で取得可能 #[例2] exit 1 | exit 2 | true | false echo ${PIPESTATUS[@]} 1 2 0 1 ${PIPESTATUS}の使いどころ 「例1」で説明すると、「コマンド1が正常終了していること」がコマンド2の前提条件である為、コマンド1のコマンドも含め戻り値チェックが必要な場合。 具体例 パイプでつないだコマンドに戻り値が"0以外"が存在する場合はエラー出力しexitする動作を実装 #[例3] コマンド1 | コマンド2 | コマンド3 echo ${PIPESTATUS[@]}
plenv の話を聞いていて、別解もありそうだなと思ってググったらあった。以下手順 direnv をインストールする .bashrc あるいは .zshrc の末尾に "eval `direnv hook $0`" と書いておく 適当なディレクトリに perl とかをインストールする 実行したいディレクトリに .envrc ってファイルを作って "PATH_add <上のディレクトリ名>" とか書いておく こうすると、cd すると自動的に .envrc の内容がロードアンロードされて、適切なスクリプトが起動されるようになる。 プロダクション環境で使う場合は、上記 2 のかわりに "direnv exec <プログラム>" とか書いておくと、ディレクトリ依存の環境設定をロードしてからプログラムを起動してくれる。
表題のとおり。 ただ取得するだけならこんなカンジかと。 #!/bin/sh SQL="SELECT * FROM table_name" COMMAND="sqlite database_name" echo $SQL | $COMMAND exit 0 今回はその後ローカルであれこれしたい(だろう)から、最終的にCSVにしたい。 文字コードはローカルで変換してもらうとして(?)、その直前まではやってあげたい。 SQLiteのデリミタって「|」なんだよね。 それを「,」に変えたい。 「.help」で確認する。 sqlite> .help .databases List names and files of attached databases .dump ?TABLE? ... Dump the database in a text format .echo ON|OFF Turn com
追記2009/10/16: いくつか指摘を受けましたが、linuxでっていうかzshに結構依存してしまっています。 つい自分環境についてばっかり考える悪い感じw 書こうと思った発端。 "disownコマンド - Do You PHP はてな" ことコマンドラインのTIPSに関しては、予想外な人が予想外な事を知らないものだ!と驚く事があります。 disownを知らなかったってことは、このへんももしかしたら知られてないかも?というバックグラウンド処理に関する豆知識(+おまけ)をいくつか。 知ってたらごめんなさいだけど、こういうのが需要あるってわかったら口に出して言ってみておくのは大事だよね! 1. しょっぱなからdisownした状態でバックグラウンド処理にする「&|」 いちいちバックグラウンド処理にした後にdisownするって2度手間が嫌な人に。 disownについては上記の記事参照。 % p
序文 もしもプログラミング言語が宗教だったら……(全訳版)[絵文録ことのは]2008/12/21 によると、ブードゥー教徒らしい dankogai です。 ブードゥー教徒らしく、「上司があなたに金曜夜21時に緊急の仕事を命ずるときにしばしば使われる」呪文をここでまとめておくことにします。 基本中の基本 コマンドとしてのperlは、スイッチがない場合、引数はスクリプト名として扱われます。 % cat hello.pl print "Hello, world!\n"; % perl hello.pl Hello, world! % コマンドライン中の文字列をスクリプトとして解釈させるには、-eを使います。 % perl -e'print "Hello, World!\n"' Hello, world! % ちなみに、perlとコマンド名だけで起動すると、標準入力をスクリプトとして返します。 %
🐧 nixCraft → Linux → 10 Tools To Add Some Spice To Your UNIX/Linux Shell Scripts There are some misconceptions that shell scripts are only for a CLI environment. You can efficiently use various tools to write GUI and network (socket) scripts under KDE or Gnome desktops. Shell scripts can make use of some of the GUI widget (menus, warning boxes, progress bars, etc.). You can always control the fin
Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く