タグ

shellに関するtmogreのブックマーク (22)

  • 漢のzsh(12) 一時ファイルはもういらない - プロセス置換

    コマンドで指定するファイルをファイルではなくコマンドとして直接指定することで、一時ファイルを作成する必要がなくなる。どれだけ使うシーンがあるかと問われると頭を捻ってしまうが、ログ解析や差分チェックなどを使っている人からは「けっこう便利に使っている」という話も聞く。 さあ、今回はこのマニアックな機能を堪能していこう。ちなみに今回の内容はその多くをzshマニュアルの「Process Substitution」の項を参考にしている。コマンド例もこれを参考にしたものだ。より詳しく知りたい読者の方は、そちらも合わせてご覧いただきたい。 例えばこういった場合 CSVファイルを編集する例を考えてみよう。表2.1のようなテーブルデータを用意したとしよう。テキスト状態ではプロンプト2.1のようになっている。 表2.1 CSVファイルの例 氏名 年齢 性別 備考

    漢のzsh(12) 一時ファイルはもういらない - プロセス置換
    tmogre
    tmogre 2015/10/02
  • 今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita

    シェルスクリプト書くときになかなか覚えていなくて、かつググラビリティが低い情報をまとめてみました。 6/19 コメントを元に一部修正しました hnakamurさんありがとうございます! 参考になる文献 test bash manual zsh manual 特殊な変数 変数 説明

    今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita
  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • spark: シェルスクリプトで棒グラフ表示

    B! 250 0 0 0 GitHubで面白そうなシェルスクリプトを探してる時に見つけた Spark by holman について。 数値を棒グラフ上に表示してくれるスクリプトです。 Spark 使用例 Spark Spark は数値群を引数に与えるか標準入力で与えてあげると その数値群を棒グラフに変換してくれるシェルスクリプトです。 インストールはGitHubのレポジトリ から直接sparkというスクリプトファイルを取ってきてPATHの通った所に入れるか、 MacであればHomebrewで $ brew install spark でsparkコマンドが使えるようになります。 使い方は非常にシンプルで $ spark 0 20 40 60 80 100 ▁▂▃▅▆█ こんな感じで数値を与えるとそれを棒グラフにしてくれます。 インプットに使える数字は少数も使えますが、 実際に使われる際には

    spark: シェルスクリプトで棒グラフ表示
    tmogre
    tmogre 2015/05/27
  • bashのTips色々 - Qiita

    概要 bashの記法は独特なものが多く毎回ググってしまうのでまとめて(と言いつつまとまりがないですが。。。)おこうと思います。 ある程度まとまってからpostしようとか思ってたらごちゃごちゃになっちゃいました。 bashで使えるという意味なのでposixシェル共通のネタも混ざってます。 随時更新します。参考になれば幸いです。 参考 man bash リファレンスマニュアル Advanced Bash-Scripting Guide カッコ色々 bashでは色々なカッコがありますが、よく違いが分からず使っていたりするのでまとめてみます。 []と[[]] []はtestコマンドのaliasです。[[]]じゃないとできないこととしては、以下のようなものがあります。 空白を含む文字列をクォートしなくてOK var='abc 123' # []の中だとクォートしないとエラーになる [ $var =

    bashのTips色々 - Qiita
  • ターミナルの作業が捗るかもな小技5つ - Qiita

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

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • hydroculのメモ | hydroculのメモ

    hydroculのメモ hydroculのメモ 目次 コマンドの使い方(Linux) プログラミング言語の比較 シェルスクリプト ブログ NumPy / pandas 数学関係のノート 未分類 このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。 スポンサーリンク コマンドの使い方(Linux) プログラミング言語の比較 シェルスクリプト ブログ NumPy / pandas 数学関係のノート 未分類

  • zshのキーバインドで余っているキーを探す - mollifier delta blog

    初めに zsh最強シェル入門を買ってから、zshのカスタマイズにはまっています。今日はコマンドライン編集のキーバインドをいい感じにしようとしていました。 で、色々やってたけど、キーがぜんぜん足りません。 何か使いやすいキーに割り当てようとしても、たいていのキーはデフォルトで使われています。そこで、「何にも割り当てがないし、押しやすいキー」(いい子)と「押しやすいくせにほとんど使っていないキー」(わるい子)を探すことにしました。 デフォルト設定を調べる 使いやすいキーバインドと言えば、「Ctrl+なんちゃら」。ということで、デフォルトのキーバインドのうちC-*という形式のやつを調べました。 % bindkey -d # デフォルト設定に戻す % bindkey -e # emacsモードを使う % bindkey # 今設定されているすべてのキーバインドを表示する "^@" set-mark

    zshのキーバインドで余っているキーを探す - mollifier delta blog
    tmogre
    tmogre 2015/03/05
  • シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」

    LINQ in Unity LINQ to GameObject - https://github.com/neuecc/LINQ-to-GameObject-for-Unity/ UniRx - https://github.com/neuecc/UniRx

    シェルスクリプトワークショップ資料 - 上級者向け「シェル芸」
  • コマンドを並列実行しつつエラーのあった実行のログを最後にまとめて出力するシェルスクリプト - Qiita

    並列実行というと xargs や GNU parallel を思い出しますが、「エラーのあった実行のログを最後にまとめて出力する」ということを考えるとどちらも不十分でした。(できるのであれば教えてほしい) しかし、シェルには wait などの素敵な並列実行の仕組みが用意されているので、頑張って自分で実装してみました。 #!/bin/bash # # parallel.sh # usage: echo 1 2 3 4 5 | parallel.sh my_script.sh # 標準入力から受け取ったリストを引数として、引数で与えられたコマンドを実行する # 成功したコマンドの結果を先に出力してから失敗したコマンドの結果を最後にまとめて出力する list=$(cat) tmpdir=$(mktemp -d) for i in $list do ($@ $i > $tmpdir/$i.log

    コマンドを並列実行しつつエラーのあった実行のログを最後にまとめて出力するシェルスクリプト - Qiita
    tmogre
    tmogre 2014/12/21
  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD

    パイプライン は、最近のソフトウェアエンジニアリングにおいて、非常に便利な(そして驚くほど活用されていない)アーキテクチャパターンです。ソフトウェアでデータの流れを制御するためにパイプとフィルタを用いる考え方は、最初のUNIXシェルが作られた1970年代からあります。もしターミナルエミュレータでパイプ” | ”を使ったことがあるなら、”パイプとフィルタ”を活用できていることになります。以下の例を見てみましょう。 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l

    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
  • ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば

    条件1. /bin/shの実体がbashのディストリビューション RHEL CentOS Scientific Linux Fedora Amazon Linux openSUSE Arch Linux (自ら設定した場合: Debian, Ubuntu) 条件2. 動作環境 CGI (レンタルサーバでありがちなCGIモードのPHP等も含む) Passenger(Ruby) 条件3. プログラム内容 Passengerは全死亡 *1 systemや `command`、 '| /usr/lib/sendmail' などで外部コマンド実行 *2 PHPのmailやmb_send_mail、その他フレームワーク等を介したメール送信 *3 以下は条件1が不要 明示的にbashを呼ぶ 先頭で #!/bin/bash や #!/usr/bin/env bash しているプログラムを実行 (rbenv

    ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば
  • シェルスクリプトでSQL(mysql)を実行する - Qiita

    mysqlコマンドを実行 色々と解決してこの形に落ち着きました。 関数2つです。 1. DDL実行関数 2. 値一つだけSELECTして取得する関数 ソース #!/bin/bash # ################################################################################ # MySQL # ################################################################################ # test MYSQL_ID='root' MYSQL_PWD='root' MYSQL_HOST='localhost' MYSQL_SCHEMA='mysql' # staging # MYSQL_ID='scott' # MYSQL_PWD='tiger' #

    シェルスクリプトでSQL(mysql)を実行する - Qiita
  • bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog

    bashに脆弱性が確認されたとして騒ぎになっています。ここではCVE-2014-6271に関する情報をまとめます。 #記載内容について、誤っている、追記した方がいい等情報がございましたら@piyokangoまでご連絡お願いします。 脆弱性情報 脆弱性の愛称 ShellShock Bashbug CVE番号 Bash周りで発行されているCVEは6つ。その内詳細が不明なのが2つ。(CVE-2014-6277,CVE-2014-6278) CVE 発見者 想定脅威 特記 CVE-2014-6271 Stephane Chazelas氏 任意のコード実行 ShellShockの発端となったバグ。 CVE-2014-7169 Tavis Ormandy氏 任意のコード実行 CVE-2014-6271修正漏れによる脆弱性 CVE-2014-7186 Redhat DoS メモリ破壊(Out-of-Bo

    bashの脆弱性(CVE-2014-6271) #ShellShock の関連リンクをまとめてみた - piyolog
  • Blog: bashの脆弱性がヤバすぎる件 – x86-64.jp - くりす研

    Browse by time: December 2018 (1) December 2016 (1) December 2015 (1) January 2015 (1) September 2014 (2) July 2014 (2) April 2014 (1) February 2014 (1) January 2014 (3) December 2013 (2) September 2013 (3) June 2013 (1) May 2013 (1) April 2013 (1) March 2013 (2) February 2013 (5) やっと更新する気になった。 もくじ 0. 産業で説明 1. 理論編 2. 攻撃編 3. パッチ 4. 結論 0. 産業で説明 bashが アホで 地球がヤバイ 1. 理論編 bashの関数機能は、環境変数の中でも使える仕様になっています

  • 先程から騒ぎになっているbashの脆弱性について – 上田ブログ

    確認しました(苦笑) (追記: envを抜いてましたが、それだとCシェル系で確認できないので加えました) ueda@remote:~$ env x='() { :;}; echo vulnerable' bash -c 'echo this is a test' vulnerable this is a test 最初のワンライナーでなにがおこってるかというと、xの値であるはずの「() { :;}; echo vulnerable」の、echo vulnerableの部分がなぜか実行されています。 bashの文法ではシングルクォートで囲んだ中のものは何がどう書いてあっても単なる文字列であって、evalとかshとかに突っ込まない限り実行されるわけはないので、これは実装ミスかと。(と、書いたのですが環境変数に関数を仕込めるという仕様があるという話を初めて聞いて愕然と・・・。いま慌てて調べてます

  • 立つハッカー、シェルを濁さず - Qiita

    おことわり このTipsは不作法だとして異論が出るかもしれないが、私自身がよくやるのでここで公開してみる。それは一体何かというと…… コマンドヒストリーが残るのイヤだ! と思うことってよくないだろうか? 開発環境で、後に再利用することは到底ありえないくらい長ーいワンライナーを書いたり、あるいは rm -rf * みたいなキケンなコマンドを実行したりして、ログアウト後にそういうのを残したくない、と思うこと。 そんなアナタにオススメのTipsだと思う。 次のコマンドを実行すればOK

    立つハッカー、シェルを濁さず - Qiita
  • シェルスクリプト入門 書き方のまとめ | Memo on the Web

    シェルスクリプト入門として, 基的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数

    tmogre
    tmogre 2014/08/31
  • 知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)

    こんばんは、牧野です。 一時期また夜型になってしまっていたのですが、最近はまた朝型生活、というよりも早朝型生活になりました。 仕事の方はというとsymfony案件は一段落して、今はオリジナルのフレームワーク、ライブラリでプログラムを作ったり、javascriptのプログラムを1から書いたりと、マイペースでやっています。 さて、今日も軽めなネタで、知っているといざという時に役立つ、かもしれないLinuxのコマンドです。 サーバ構築や緊急対応などでサーバを触る場合は使う機会があると思います。 ■サーバのOS情報を確認

    知っておくと役立つかもしれないLinuxコマンド(サーバ確認関係)
  • UNIX入門 〜初心者のためのUNIX/Linux講座〜

    UNIX基礎知識 UNIXの基礎知識について解説。初心者はまずこちらからお読みください。 Linuxコマンド一覧 UNIXを使う上で必須の知識であるコマンドについて解説。Linuxコマンドを中心に解説していますが、どのUNIX環境でも同様に使用できるコマンドを集めています。 シェルスクリプト入門 シェルスクリプト(Bshell系)について解説。シェルの基的な文法から、実践的なプログラミングテクニックまで幅広く解説。 おすすめ書籍 UNIX/Linuxに関連するおすすめの書籍を紹介しています。