タグ

bashに関するk1LoWのブックマーク (14)

  • Bash変態文法最速マスター

    注意このドキュメントは、すでにshまたはbashでそれなりにスクリプトを書いている人向けに書かれています。自分が対象読者でないと思ったら、すっぱりと読むのをあきらめてください。時間の無駄です。 このドキュメントではBash version 3.x 系(3.1以降) 4.x 系を対象にしています。2.x 系だと微妙に文法が違うところがあるので注意してください。ちなみに 4.x 系だと、変態なことをしなくても同じことができたり(連想配列が使えるようになったはず)、逆にもっと変態なことができたりします。(2013/09/11 追記) 書きかけで放置している間にメイン環境が 4.x になりました。3.x と 4.x でどこが違うかもう覚えてないし調べるのも面倒なので 4.x 系前提でいきます。 このドキュメントは、主にPOSIXなshにはないBashの機能を使い倒すことを目的としています。ここにあ

  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • リダイレクトとパイプを図示してみた (1) - とあるソフトウェア開発者のブログ

    自分自身の知識を整理するため、リダイレクトとパイプの考え方を図示してみました。記事は3回に分ける予定です。 前回: - 次回: id:simply-k:20100801:1280617927 はじめに Unix/LinuxのシェルスクリプトやWindowsのコマンドプロンプトで使用するリダイレクトとパイプについて、考え方を図示しました。リダイレクトの表記法は、sh/bashやコマンドプロンプトを前提にしています。 リダイレクトやパイプについての初歩的な説明は省いていますので、そのような説明がほしい方は、他のサイトや書籍を参照してください。 (1) コマンド リダイレクトやパイプを使用しないコマンド実行です。 図の中の矢印は、ストリーム(データの流れ)を示しています。標準入力(stdin)、標準出力(stdout)、標準エラー出力(stderr)が、自動的にオープンされます。それぞれ、データ

    リダイレクトとパイプを図示してみた (1) - とあるソフトウェア開発者のブログ
  • .bash_history関連の環境変数アレコレ - 元RX-7乗りの適当な日々

    いくつか使えそうなものをメモ書き。 HISTSIZE export HISTSIZE=5000HISTORYとして記録するコマンドの履歴数。 HISTSIZEの値を小さくした場合、過去のヒストリは切り捨てられる。 HISTFILE export HISTFILE=~/.bash_history-${HOSTNAME}コマンド履歴(HISTORY)を保存するファイル名。デフォルト値は「~/.bash_history」。 HISTFILESIZE export HISTFILESIZE=5000上記の履歴ファイルに保存する履歴の最大数(行数)。必要に応じて過去の古い履歴は切り捨てられる。 HISTCONTROL export HISTCONTROL=ignoredups "ignorespace" の値が設定されていると、 空白文字で始まる行は履歴リストに入らない。 "ignoredups"

    .bash_history関連の環境変数アレコレ - 元RX-7乗りの適当な日々
    k1LoW
    k1LoW 2010/07/27
  • Bash基礎文法最速マスター - いろいろ解析日記

    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 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
  • gitのcommit、push待ちの状態をプロンプトに表示すると結構便利 - (ひ)メモ

    gitのブランチ名をプロンプトに表示すると結構便利 の続き。 gitでcommitし忘れ、pushし忘れないように、 _color_() { color=$1; shift echo -e "\e[${color}${@}\e[0m" } fg_black() { _color_ "30m" $@; } fg_BLACK() { _color_ "30;1m" $@; } fg_red() { _color_ "31m" $@; } fg_RED() { _color_ "31;1m" $@; } fg_green() { _color_ "32m" $@; } fg_GREEN() { _color_ "32;1m" $@; } fg_yellow() { _color_ "33m" $@; } fg_YELLOW() { _color_ "33;1m" $@; } fg_blue()

    gitのcommit、push待ちの状態をプロンプトに表示すると結構便利 - (ひ)メモ
    k1LoW
    k1LoW 2009/07/05
  • gitのブランチ名をプロンプトに表示すると結構便利 - (ひ)メモ

    gitの配布物に含まれる contrib/completion/git-completion.bash を . すると、gitのサブコマンドやそれに応じたオプション、加えて~/.gitconfigで自分用にaliasしたサブコマンドまで補完してくれるようになり、小学生もにっこりです。 同じく git-completion.bash の中で定義されてる関数 __git_ps1 を使ってシェルプロンプト($PS1)を設定すると、 #... if [ -r "$HOME/.bash_completion.d/git" ]; then # = git-completion.bash # boldにするエスケープシーケンスは省略してます PS1="${PS1}[\$(__git_ps1 \"%s)\")\w]\\$ " else PS1="${PS1}[\w]\\$ " fi #...こんなふうにg

    k1LoW
    k1LoW 2009/07/05
  • ウノウラボ Unoh Labs: シェルスクリプトでプログラミング

    パワプロよりパワポケが好きなbokkoです。でも最近はPSPで遊んでいます。 今回はシェルスクリプトやコマンドラインでよく使うプログラムとその使用例の紹介です。 シェルスクリプトでは既にあるコマンドを組み合わせてプログラムを書きます。しかし、シェルスクリプトは分岐や繰り返しといった制御構造を持ち、関数や変数を扱ったり、四則演算を行うこともできます。 演算 シェルスクリプトで演算を行うにはexprを使います。 add.sh #!/bin/sh A=1 B=2 C=`expr ${A} + ${B}` echo ${C} ↑のadd.shを実行すると、 $ sh test.sh 3 $ と表示されます。↓のようにexprの引数をスペースで区切らず渡してしまうと、単に1+2と表示されてしまいますので、注意しましょう。 #!/bin/sh A=1 B=2 C=`expr ${A}+${B}` ec

  • Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine

    UNIXやLinuxのエキスパートになるのに避けて通れないのが、Bashに代表されるコマンドラインシェルによる操作だ。そこで記事では、「Bashのカスタマイズ」「シェルスクリプトの高等テクニック」「Bash以外の高機能シェル」の3つについて、SourceForge.JP Magazineで過去に掲載された解説記事を紹介する。 Bashをカスタマイズして使いこなす Bashは非常にカスタマイズの幅が広く、またちょっとした改良や簡単なシェルスクリプトの利用により、大きく作業効率が改善する。ここでは、Bashのカスタマイズテクニックを解説する記事を紹介する。 コマンドラインでシェルのエイリアスと関数を使って作業を効率化する GNU/Linuxシステムを最大限に活用するには、やはりコマンドプロンプトとシェルスクリプトへの習熟が欠かせない。とはいえ、そうした処理はなるべく手早く済ませたいものだ。

    Bash&シェルスクリプトを極めるテクニックまとめ | OSDN Magazine
  • dotfiles.org | community for sharing dotfiles like .bashrc, .vimrc, and .bash_profile

    community for sharing dotfiles like .bashrc, .vimrc, and .bash_profileWelcome! dotfiles.org is a place to upload, download, and share your dotfiles. Upload Sign up for an account, then upload any dotfile! Download dotfiles recognizes curl and wget, so to get a dotfile in your shell try: $ curl http://dotfiles.org/~willcodeforfoo/.bash_profile Share Face it: you're proud of that 204-line .bashrc, a

  • コマンドラインユーザー必携 - 書評 - bashクックブック : 404 Blog Not Found

    2008年09月26日00:00 カテゴリ書評/画評/品評iTech コマンドラインユーザー必携 - 書評 - bashクックブック オライリー矢野様より、いつもどおり献御礼。 bashクックブック Carl Albing / JP Vossen / Cameron Newham 株式会社クイープ訳 [原著:bash Cookbook] そういえば、これがなかった。 ある意味、(Perl|Python|Ruby)クックブックより重要とも言える、これが。 書「bashクックブック」は、世界でも最も普及したshell、Bashのクックブックであると同時に、2008年現在における「デフォルトのコマンドライン環境」において、「あれをやるにはどうしたらよいか」、すなわち「CLIクックブック」としても機能するよう書かれた一冊。 書の何がよいかといえば、何もかもBashでやろうとしていないこと。目

    コマンドラインユーザー必携 - 書評 - bashクックブック : 404 Blog Not Found
    k1LoW
    k1LoW 2008/11/13
  • ㊣十大正规足球外围app-bsport体育娱乐官网入口

  • bashにて複数端末間でコマンド履歴(history)を共有する方法 (iandeth.)

    Tera Term 等の端末を複数同時に立ち上げて作業したり、screenにて複数の仮想端末を同時並行で操作する際、コマンド実行履歴が端末間で共有できなくて困る事が多々あります。「さっきのfindコマンドをもう一度... 引数どう書くんだっけなぁ... あ、確かコマンド履歴にあったはずだなぁ... ちっ、それはあっちの端末の履歴だったか」みたいな。zshには端末間のコマンド履歴を常に同期できる'SHARE_HISTORY' なるオプション(*1)があって素敵なのですが、同じことを bash で実現する方法を調べたのでご紹介。 (*1) zshの同機能について詳しくはITmedia記事 "豪傑の三種の神器【後編】" を参照の事 不具合) 通常設定のbashで困る事 1. 複数端末間でコマンド履歴の共有ができない 同時に立ち上げている端末間で履歴の共有ができなくて不便に感じることがある。 2.

  • 【PHP】コマンドラインからGoogle検索するワンライナー【bash】

    $ alias google='opera -newpage http://www.google.com/search?q=$1' 私のメインブラウザがOperaなので、もしFirefoxを使用している方は「opera -newpage」の部分を「firefox -new-tab」に変更してください。 では、実行してみます。

    【PHP】コマンドラインからGoogle検索するワンライナー【bash】
    k1LoW
    k1LoW 2008/10/14
  • 1