タグ

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

タグの絞り込みを解除

shellとLinuxに関するhinashikiのブックマーク (5)

  • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

    変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
    hinashiki
    hinashiki 2014/02/18
    変数を扱うために覚えておくべき色々
  • (シェルスクリプト)bashの機能だけで文字列を分割して変数に代入

    (シェルスクリプト)bashの機能だけで文字列を分割して変数に代入 cutやtr、sed、awkを使わずに「hoge="AAA,BBB,CCC"」のAAA・BBB・CCCを変数に代入したい時1. $1・$2・$3に入れるOIFS="$IFS"; IFS=',' set -- $hoge; IFS="$OIFS" echo "$1" echo "$2" echo "$3"2. readを使うIFS=',' read -r hoge1 hoge2 hoge3 <<< "$hoge" echo "$hoge1" echo "$hoge2" echo "$hoge3"3. 配列に入れるOIFS="$IFS"; IFS=',' hoge_array=($hoge); IFS="$OIFS" echo "${hoge_array[0]}" echo "${hoge_array[1]}" echo "$

    (シェルスクリプト)bashの機能だけで文字列を分割して変数に代入
    hinashiki
    hinashiki 2013/12/15
    使える
  • xargsコマンドの中(引渡し先コマンド)でパイプを使うには - 山歩きプログラマー

    ずっと自分の中でやり方が謎だったがようやく解決。 xargsがデータを引き渡すコマンドの中で処理ごとに随時パイプを使いたいが、普通に使うとxargsが全部処理を終了してからパイプに引き渡される。 そこで登場するのがksh。 ls | xargs -i ksh -c 'grep {} data_file | wc -l' こんな感じで使えば毎処理ごとにパイプに渡される。

    xargsコマンドの中(引渡し先コマンド)でパイプを使うには - 山歩きプログラマー
    hinashiki
    hinashiki 2013/08/21
    これは便利
  • xargs を使ってカジュアルに並列処理 - たごもりすメモ

    シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

    xargs を使ってカジュアルに並列処理 - たごもりすメモ
  • 狐の王国 bashを捨ててzshを使うべきたった3つの理由

    #2 bashを捨ててzshを使うべきたった3つの理由 去年だったか一昨年あたりだったかからbashをやめてzshを使っているのだが、実はその理由というのはたいしたものではない。 世の中にはzshを使うとこんなに幸せになれますよ的な記事がいっぱいあるのだが、そこまでカスタマイズにハマり込むほど暇でもないし、bash程度でコマンドラインは充分すぎるほど便利なのだ。それ以上の事をするならそれこそスクリプトでも書いて~/binに入れておけばいい。 で、それなのになんでzshを使ってるかというと、それでもbashには無い魅力がそこにあるからだ。 @ 1. ヒストリが共有できる: もうこれが最大の理由。 コマンドライン、CLIの魅力のひとつに、実行したコマンドを保存しておけるというのがある。使い方のうろ覚えなコマンドなど、Ctrl+rを押してヒストリをインクリメンタル検索し、過去に実行したときのオプ

  • 1