タグ

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

タグの絞り込みを解除

bashに関するkakkun61のブックマーク (8)

  • How to detect if a script is being sourced

  • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

    @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

    bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
  • Bash のプロセス置換が便利な件 - 理系学生日記

    Bash にはプロセス置換という便利な機能があります。しかしこの機能、あまり知名度が高くない。 ぼくは毎日の労働に疲れ果てているし、日学生支援機構という組織から毎月金を請求され、しまいには信用情報機関に登録される寸前までいくような生活を送っているというような状態なので、みなさんにこのプロセス置換という機能をご説明して気を紛らわすことに決めた。 プロセス出力をファイルとして扱うと便利なケース 一般に、unix でファイルの差分をチェックするには diff を使います。 例えば、それぞれ 1〜3 と 1〜4 が順番に入力された 2 つのファイルがあるとすると、次のような感じで比較しますね。 瞬時に 4 だけが仲間外れであることが分かり、同質であることを良しとし異端を排除する日においては、杭として打たれ、イジメの対象となります。とてもこわいですね。はーこわい。 $ diff -u seq3.

    Bash のプロセス置換が便利な件 - 理系学生日記
  • gibo でいいじゃんという話 - ちなみに

    ありがたいことに昨日のエントリがそこそこブクマを集めているのだけれど、コメントで gibo を使っているという話があって、存在を知らなかったので試してみたら gibo で良かったという話。 gibo なんか日人としては義母を連想してしまいアンニュイな気持ちになるのだけれど、gitignore boilerplates の略だそうです。 GitHub が公開している github/gitignore から任意のものを取ってきてくれる。当然複数のものをつなぎ合わせることも出来る。 出来た .gitignore は昨日紹介した .gitignore.io のものとほぼ同じなのだけれど、それもそのはず、どちらも github/gitignore から元データを取ってきている。 しかし、gibo の場合は初回にローカルに clone してくれるので速い。.gitignore.io の場合は lis

    gibo でいいじゃんという話 - ちなみに
  • How to use > in an xargs command?

    I want to find a bash command that will let me grep every file in a directory and write the output of that grep to a separate file. My guess would have been to do something like this ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out" but, as far as I know, xargs doesn't like the double-quotes. If I remove the double-quotes, however, then the command redirects the output of the entire command to a singl

    How to use > in an xargs command?
  • BashのPromptに色をつけたら、改行がおかしい問題の解決

    この場合の環境変数PS1の設定を見てみましょう。 非常に不便ですが、解決方法が意外と簡単です。その解決方法の肝は\[\]の意味を理解することです。Bashで\[\]の意味は「Bashで長さの計算に除外する」です。正しい表示できるときのPS1の設定を見てみたら、すべての色設定 \e[foregroundColor:backgroundColorm が\[\]に包まれています。つまり、色設定の記号は全部カウントされないようにしました。故に、正しい表示が出来ました。いわば、次のように覚えておくと正しい色表記ができます。 \[\e[foregroundColor:backgroundColorm\]

    BashのPromptに色をつけたら、改行がおかしい問題の解決
  • bash/zshのコマンドライン履歴機能。直前のコマンド、直前の引数。 - ミームの死骸を待ちながら

    よく忘れるので例示と共にメモ。ここらへん押さえておくと作業効率が上がる。bashのページで発見したものを載せている。zshでも確認した。 実行系 !! 直前に実行したコマンドを再現 !+何かの文字 !sudoとすれば、sudoで始まる直近の実行コマンドを再度実行。他にヒットしないのがわかってれば、!suとか!sでもいい。最短マッチ。 !:s/foo/bar 直前に実行したコマンドのfooをbarにして実行。gsにするとすべて置換 これは便利!! $ vim ../../.zshrc $ !:s/zsh/vim !n n番目のコマンドを実行。 hisotry | grep hogeして確認してから使うなど*1 代わりの名前系(単語指示子、というらしい) 使うケースは多い。 $ ls /etc/hoge/fuga/ $ cd !^ とか。!^が最初の引数、!$で最後、!:nでn番目、!*ですべ

  • bash-completionで独自の補完関数を作成する方法(gistyのサブコマンドを補完するやつ書いてみた) - 今日もスミマセン。

    歳のせいか最近記憶力が落ちてるので補完に頼ってみることにした。 以下を行なうにはbash-completionパッケージが必要です。 macportsだと sudo port install bash-completionでインストールされるはず。 バージョン1 とりあえず、サブコマンドを全部登録してみました版 _gisty() { COMPREPLY=(list post private_post sync sync_delete pull_all about help) } complete -F _gisty gisty上記を/opt/local/etc/bash_completion.d/の配下にgistyという名前で保存 以下のように設定ファイルを読み込み $ . /opt/local/etc/bash_completion"gisty "と打ってtabを押すと about li

    bash-completionで独自の補完関数を作成する方法(gistyのサブコマンドを補完するやつ書いてみた) - 今日もスミマセン。
  • 1