タグ

ShellScriptに関するsugyanのブックマーク (9)

  • set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream

    課題編 シェルスクリプトで「あるグローバルな状態を変える操作を行い、その結果をチェックし、状態をもとに戻す」みたいなタスクをするときに「その結果をチェックし」のところでコマンドの終了ステータスを変数に入れて置きたいみたいなことがあります。例えば、次のようなコマンド操作です。 set -e # グローバルな状態を変える操作を行う git merge --no-ff --no-commit $main_branch || true # 結果をチェックしてexit codeを変数に入れる git diff --cached --exit-code --quiet ; code=$? # グローバルな状態をもとに戻す git merge --abort # 上位プロセスに結果を渡す exit $code スクリプト全体には set -e (コマンドが失敗するとシェルスクリプトが即座に終了する)を効

    set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream
  • GitHub - google/zx: A tool for writing better scripts

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - google/zx: A tool for writing better scripts
  • ターミナルに雨雲を表示する - cuspy diary


    便15   ame.sh! () SixelImageMagickmltermbashzsh : https://github.com/hamano/ame.sh : % curl -s https://raw.githubusercontent.com/hamano
    ターミナルに雨雲を表示する - cuspy diary
    sugyan
    sugyan 2016/12/02
    名前が秀逸すぎて最高だ
  • 何もしない組み込みコマンド ":" (コロン)の使い道


    Bash  :  C void  JavaScript LaTeX  \relax  NOP   Bash  : 使   Bash  #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo ""e
    何もしない組み込みコマンド ":" (コロン)の使い道
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita


    Shell Script Advent Calendar 2015 4 稿   使3 python  ruby  zsh  Bash 使 3(@eban)Golf@eban@eban 33Tips   OSMac OS X Yos
    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
  • 使いやすいシェルスクリプトを書く


    使  使使使usage usageusage使  function usage { cat <<EOF $(basename ${0})
  • "set -e"に関するメモ - Shohei Yoshida's Diary

    シェルスクリプトで #!/bin/sh set -e とすると、コマンド実行時に戻り値が 0以外になれば即座に終了 するという便利な機能があります。しかし diffコマンドのように 戻り値 0は差分なし、1は差分あり、それ以外はエラーみたいな 感じで戻り値を利用されると、diffの部分で処理が終了してしまう という問題があります。 #!/bin/sh set -e diff test/old.txt test/new.txt > test.patch echo "finish" のような場合, diff自体は成功しますが、それ以降が実行されず "finish"と表示されないということが起きます。 解決方法 コマンドを ifや whileの条件として書くことで、この問題を回避できます。 #!/bin/sh set -e if diff test/old.txt test/new.txt >

    "set -e"に関するメモ - Shohei Yoshida's Diary
  • shell script を書くときの tips 2つ(初心者向け) - tokuhirom's blog


    shell script 便 tips 2 autodie set -e便 #!/bin/sh set -e perl -e 'die' echo SHOULD NOT REACH HERE % ./hoge.sh Died at -e line 1. % echo $? 255 便   until  while if &&  ||  !
  • シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third

    エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET

    シェルスクリプトを書く際に気を付けていること8箇条 - カイワレの大冒険 Third
  • 1