タグ

bashに関するhatekun33のブックマーク (16)

  • シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた

    シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。

    シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた
  • Bashのよくある間違い | Yakst

    原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

    Bashのよくある間違い | Yakst
  • Bashのプロンプト変更 - Qiita

    残さないと分からなくなるので、いくつかのパターンをメモ 変更方法 PS1変数に代入されている 常に使うのであれば、~/.bashrcに書いとけ! サンプル 赤文字で、カレントディレクトリ/ホスト名 時刻を表示

    Bashのプロンプト変更 - Qiita
  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • msysGitのgit-gui日本語対応 - Qiita

    この投稿に記載していた問題は、 Git for Windows 2.7.1 で修正されました。 今後、この記事の対処は不要となります。 Windowsで、Gitを使う場合、日語の扱いで困ることがある。 2015/1/10 追記 : Git-1.9.5-preview20141217でもこの対処が必要であった ここでは、gitに付属のgit-guiの日語対応について書く。 なお、その他日語の諸問題については、「msysgit で日語を使いたい」が詳しい。 対象バージョンは、msysgit-1.8.5.2.msysgit.0 っと少し古いバージョンである。また、最新のバージョンの状況は未確認である。 事象 git-gui は、ある特定の日語文字を含むフォルダを開けない問題があった。 (遭遇したのは、「指導」という文字を含んでいるとダメだった) 対処 対処方法は、以下のパッチの適用であ

    msysGitのgit-gui日本語対応 - Qiita
  • Git for Windows で日本語を使いたい - Qiita

    追記(2.x): Git for Windows は2015年8月にリリースされた 2.5.0 以降日語まわりの問題もいくつか改善されているので追記しました。 2.x 系では開発ベースも変わり、もはや msysgit ではなくなったので、稿のタイトルも変更させていただきます。 "Git for Windows"(いわゆる Git Bash)は Windows 上で git 利用を可能とする bash シェル環境だ。 Gitが使えるだけでなく、オールインワンで基的なコマンドを備え、 ssh, perl, curl などのツールも入っていて、cygwin なんかに比べお手軽かつお得な環境だ。 筆者の周りでは "Git Bash" で通用している。 かつては日語を扱うのが面倒であったが、1.8.3 から Bash 上で日本語入力できるようになるなど、最近の状況はだいぶよくなっている。 $

    Git for Windows で日本語を使いたい - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • bash 入門

    ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの

  • bashのキーバインド(キーボードショートカット) まとめ - readlineとbind、ついでにstty編 - うまいぼうぶろぐ

    復習がてらまとめてみた。今さら感たっぷりでたぶん100番煎じぐらいだけど。きっかけは単語単位でカーソルを移動させる(M-f,M-b)方法が知りたかっただけなんだけど。せっかくなのでどこで、どういう風にキーバインドが割り当てられているかを調べた。 versionはdebian4のbash 3.1.17。 readlineとbind(組み込みコマンド) man bashのreadlineとbindの項目参照。readlineはシェルの入力を処理するライブラリ。bashは組み込みのコマンドでreadlineの割り当て設定確認/設定変更が出来る。 端末ラインのキーバインド さて、さっそくbashのキーバインド…の前に、シェルとは別の端末のキーバインドもまとめておく。bashとは直接関係ないけど、端末をCLIの操作をキーバインドで行うという意味では、ほぼ同じなので。 有名なのはプロセスを割り込むC-

    bashのキーバインド(キーボードショートカット) まとめ - readlineとbind、ついでにstty編 - うまいぼうぶろぐ
  • インフラエンジニアとしてよく使うコマンド集 - Qiita

    私がよく使うコマンド集となります。 参考に頂けたら幸いです。 随時更新するかと思います。 コマンドを打つ前に覚えておく事 ①サーバに負荷がかかるコマンドを打つ場合、下記をコマンドの先頭に付けましょう $ ionice -c 2 -n 7 nice -n 19 # -c 2:ディスクI/Oの実行優先度をベストエフォートで実行 # -n 7:さらにこのコマンドの優先度を低くする # -n 19:プロセスの実行優先度を一番低くする

    インフラエンジニアとしてよく使うコマンド集 - Qiita
  • 【 set 】 シェルのオプションを設定する

    CTRLキーを押しながらDキーを押しても,シェルを終了しないように設定する。exitコマンドは利用できる

    【 set 】 シェルのオプションを設定する
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • 続・ラフなラボ – シェルスクリプトが '> $logfile 2>&1' だらけにならなくて済んだ話

    ※ 2014-04-26 追記並びに一部コマンド部分の修正を行いました。( > => >> に変更 ) 個人用のチラシの裏のつもりが予想以上に反響いただいていたようで非常にびっくりしております。 ちょっとしたバッチ処理的なものはさくっとシェルスクリプトでやっています。 で、ログをとっておくべくリダイレクトを噛ますわけですが、 スマートに書く方法を調べたのでメモ。 元ネタは @sechiro さんの bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する でございます。 当に参考になりました。ありがとうございます。 今までは こんなことやってたわけです。 #!/bin/bash LOGFILE=/tmp/script-log command1 >> $LOGFILE 2>&1 command2 >> $LOGFILE 2>&1 ... >> $LOGFILE 2>&1

  • Emacs 上で快適に Bash や Zsh を利用する設定 : 紹介マニア

    概要 Emacs を利用していると全部 Emacs でやりたくなるのは Emacs 使いとして当然だと思います。 Shell だって Terminal など利用せず Emacs 上で動作させたくなることでしょう。 この文書では Emacs 上で Shell を快適に利用するための設定を記述していきます。 目次 概要 検証環境 Emacs での Shell Mode に関する基礎知識 shell term (ansi-term) eshell どのモードを利用するか 利用する Shell について Windows での Shell の準備 Mac OS X での Shell の準備 Emacs 側の設定 PATH の設定 利用する Shell の設定 文字コードの設定 システムの terminfo を利用しない設定 エスケープを綺麗に表示する term 呼び出しキーの割り当て Shell 側

  • bashで始めるシェルスクリプト基礎の基礎(1/2)

    GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

    bashで始めるシェルスクリプト基礎の基礎(1/2)
  • bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々

    bashでは、"Ctrl"や"Esc"キーと組み合わせることで様々な操作ができるので、メモ代わりにまとめておきます。 よくやるのが「Ctrl + s」キーを押してしまうと、フリーズしたかのように見えるので一瞬焦ってしまう。そんな時は・・・ Ctrl + b カーソルを左へ1文字移動 (←キーでもOK) Ctrl + f カーソルを右へ1文字移動 (→キーでもOK) Esc + b カーソルを右へ1単語移動 Esc + f カーソルを右へ1単語移動 Ctrl + p historyの1つ前に入力したコマンドを表示 (↑キーでもOK) Ctrl + n historyの1つ後に入力したコマンドを表示 (↓キーでもOK) Ctrl + h カーソルの左1文字を削除 (BackspaceキーでもOK) Ctrl + d カーソルの右1文字を削除 (DeleteキーでもOK) Ctrl + a カー

    bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々
  • 1