タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

bashに関するsanematのブックマーク (2)

  • bashの正規表現マッチングの使い方 - adsaria mood

    あるフリーウェアのインストール用bashプログラムを見ていたら次の様なものがあった。(以下の例は簡略化してある。) STRING="abc" if [[ "$STRING" =~ "^ab[cd]$" ]]; then echo "matched" else echo "unmatched" fi if文の条件表現の中に“=~”というオペレータがある。manを見ると =~ オペレータは文字列を正規表現と比較するとある。知らなかった。bashの文字列比較で正規表現が使えるとは。私は正規表現比較が必要な時はgrepに喰わせて判断していたのだが、これを使えば簡単にできる。 ところが、だ。上のプログラムが期待通りに動かない。上の例では =~ の左辺と右辺の正規表現はマッチするはずだが、結果は“unmatched”。色々と正規表現を変えてみたが、どれとしてマッチングしない。しかし、if文を次のように

    bashの正規表現マッチングの使い方 - adsaria mood
  • 実行したコマンドの終了コードを表示する - Qiita

    のようにして確認したりする。 けれど、たまにecho $?を打つのを忘れて次のコマンドを打ってしまったり、 コマンド → echo $?を繰り返してhistoryが埋め尽くされてしまうことも。 なので、環境変数の PROMPT_COMMAND を使ってコマンドを打つたびに自動で戻り値を表示するようにしてみた。 bashのmanページに書いてある。 PROMPT_COMMAND 設定されていると、プライマリプロンプトを出す前に毎回、この値がコマンドとして実行されます。 /etc/bashrcか~/.bashrcに、以下のような記述を追加する。 追加する場所は、ファイルの最後のほうが良いっすね。 PROMPT_COMMANDにはコマンドが登録済みなので、それらより先にこの関数を呼ぶようにする(そうじゃないと意味ないので)。 ${PROMPT_COMMAND//__show_status;/}と

    実行したコマンドの終了コードを表示する - Qiita
    sanemat
    sanemat 2015/02/15
  • 1