タグ

プログラミングとshellに関するrichard_rawのブックマーク (37)

  • マイクロソフト、「Windows Terminal」機能確定版リリース。複数タブ、ペイン分割、プログラミング用フォントなどを含む、4月正式リリース予定

    マイクロソフト、「Windows Terminal」機能確定版リリース。複数タブ、ペイン分割、プログラミング用フォントなどを含む、4月正式リリース予定 マイクロソフトがオープンソースとして開発中の「Windows Terminal」バージョン0.9がリリースされました。今年4月に正式リリースが予定されており、今回リリースされたバージョン0.9は正式リリースに向けて新機能が追加された最後の版となります。 Windows Terminalは2019年5月にWindows 10の新機能として発表されたソフトウェアです。 タブによっていくつでも画面を開くことができ、それぞれの画面でコマンドプロンプトやPowerShell、Windows Subsystem for LinuxやSSH経由でほかのサーバへの接続など、Windows 10上でのすべてのコマンドラインインターフェイスが統合可能となります

    マイクロソフト、「Windows Terminal」機能確定版リリース。複数タブ、ペイン分割、プログラミング用フォントなどを含む、4月正式リリース予定
    richard_raw
    richard_raw 2020/02/17
    新しいフォントはいいけど勝手にリガチャするのやめてくだちぃ><
  • bashの初見殺しっぷりがハンパない件 - Qiita

    「これ知らなきゃ分からないだろ!」 「エラーの原因はわかったけど、なんか腑に落ちない」 いま悩んだ2時間返せ! bashというか、UNIXのコマンドに慣れてない 僕みたいな新人エンジニアが 気をつけた方がいいポイントまとめました。 あいことばをわすれない 微妙にエラーが出ないため、気づかないまま進んでしまい、 のちのち絶妙に致命的なことになってしまうので注意。 一行目忘れて2時間悩みました 二行目のオプションつけなかったため2時間悩みました setのオプションはお好みで あいことばの解説: http://qiita.com/magicant/items/f3554274ee500bddaca8 半角スペースをつけるな!半角スペースをつけろ! shellさんはスペースに非常に神経質です。 よくある変数代入では=の前後にスペースいれてはダメです。

    bashの初見殺しっぷりがハンパない件 - Qiita
    richard_raw
    richard_raw 2017/01/16
    Shellcheck様々やでぇ。
  • SHELQ: 怪しいシェル芸キュレーションサイト – 上田ブログ

    この記事はShell Script Advent Calendar 2016 18日目の記事です。 記事の趣旨は、今年を中心にTwitterやシェル芸勉強会上で出たこわいワンライナーを、巷にあふれるクソバイラル的なランキング形式でお届けしようというものです。人さまのワンライナーを紹介していきます。普段、自分のブログでは人のふんどしでほんだしをとる1) ふんどしを脱ぐと立派な鰹節が出現するイメージの下ネタです。ようなことはなるべくしないことにしてますが、毎年謎に盛り上がるShell Script Advent Calendarに便乗してしれっとやります。あと、先日せっかくこんなことを書いたのにまるで自分で守ってないのは、やさぐれているからです。ご了承ください。 ということで、私、上田マリ(シェルガポール在住)の「シェル芸キュレーション」をお楽しみください。 今、私は、シェルガポールからのリ

    richard_raw
    richard_raw 2016/12/19
    第三位が見るからにヤバい感じがするのに安全でわけがわからないyo!
  • bashでmemcachedを実装しました! - Qiita

    TL;DR bashとsocatコマンドを利用してmemcachedを実装しました。 MakeNowJust/bashcached - GitHub 文 はじめに bashで実装したmemcachedです https://t.co/5UQk8x3wqw — さっき作った@3日目東R-13a (@make_now_just) 2016年10月28日 bashでmemcachedを実装したらHacker Newsでちょっと話題になったみたいなので記事にします。 とりあえずインストール方法 インストール方法です。 まずsocatが必要なので、

    bashでmemcachedを実装しました! - Qiita
    richard_raw
    richard_raw 2016/11/08
    ちょっと意味がわからないけど面白い!/誰かがきっと20倍高速化してくれるさ!(他力本願)
  • LINE DEVELOPER DAY 2016 開催のお知らせ « LINE Engineers' Blog

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog saegusa2017-04-16Yoshihiro was a network engineer at LINE, responsible for all levels of LINE's infrastructure. Since being named Infra Platform Department manager, he is finding ways to apply LINE's technology and business goals to the platform. こんにちは。LINEでネットワークやデータセンターを担当している三枝です。2017年1月にJANOG39で登壇する機会を頂きましたので、今回

    LINE DEVELOPER DAY 2016 開催のお知らせ « LINE Engineers' Blog
    richard_raw
    richard_raw 2016/10/14
    SLを走らせるためにLINE始めなきゃ(使命感
  • 構造化テキストデータを操作するためのコマンドラインツールリスト | POSTD

    テキストベースのファイル形式と、それぞれを(主にLinux上で)操作するためのコマンドラインツールのリストを掲載しています。 目次 DSV XML,HTML JSON YAML,TOML INI 設定ファイル おまけ:単一ファイルデータベース用コマンドラインインタフェース(CLI) ライセンス 情報開示 DSV CSV や TSV などを含む DSV(Delimiter-separated values、区切り文字で区切られた値) です。 Awk AwkはPOSIXで標準化されているコマンドラインツールで、DSVデータ処理用プログラミング言語です。Awkに関するリンクは以下のとおりです。 Awk.info — Awkに関する情報が豊富です。 AWK Vs NAWK Vs GAWK —プラットフォーム別実装の比較です。 すでにプログラミング言語を使用してプログラミングをしている場合は、naw

    構造化テキストデータを操作するためのコマンドラインツールリスト | POSTD
    richard_raw
    richard_raw 2016/06/03
    GNU datamashが気になります。
  • 恐怖!シェルショッカーの POSIX原理主義シェルスクリプト

    シェルスクリプトがいかに最強の言語であるかを、POSIX原理主義集団「シェルショッカー日支部」がとくと教えてやる。 ― 2016/03/20@歌舞伎座.tech#9Read less

    恐怖!シェルショッカーの POSIX原理主義シェルスクリプト
    richard_raw
    richard_raw 2016/03/22
    見習いたいけど実践するのキツそうですわ……。
  • POSIX原理主義に基づく究極のスクレイピング - Qiita

    この投稿はクローラー/スクレイピング Advent Calendar 2014の12月25日用です。 199X年。核戦争によって荒廃した時代に、ジャギという男がいた。 「おいお前、普段使っているシェルの名前を言ってみろぉ」 弟ケンシロウに成りすまし、そう言っては、“Bourne Shell”と答えない平民達を虐殺するという悪行を繰り返していた。弟の名に頼り、銃に頼り、人質に頼り、含み針に頼り、そしてガソリンという切り札に頼ったその男は、己の肉体のみで闘う弟によって、無様な最期を遂げた。 さて題名にもあるとおり、この記事は「POSIX原理主義」、つまりUNIX系OS最小インストール時に使えるコマンドだけでスクレイピングします。立派な言語やライブラリーがあったらスゴいスクレイピングができて当たり前。それだと道具がスゴいだけで、「自分はノーアイデアです」と言っているようなものです。 しかしながら

    POSIX原理主義に基づく究極のスクレイピング - Qiita
    richard_raw
    richard_raw 2015/06/01
    あ、このパーサー便利そう。
  • どのUNIXコマンドでも使える正規表現 - Qiita

    特定コマンドの正規表現で使えるメタ文字が何だかわからない! 正規表現自体は知っているけど、それが今から使おうとしているコマンドで使えるものなのかわからずに困っている人も多いと思うのでまとめてみた。 たった3つの正規表現メタ文字セットだけ知ればいい コマンドによって、対応している正規表現メタ文字の範囲には違いがある。しかし、最低限知っておけばよいのは2種類+1サブセットの3つだけだ。 BRE(基正規表現)メタ文字セット ERE(拡張正規表現)メタ文字セット AWKのサブセット もちろん、これ以外にもGNU拡張正規表現メタ文字セットやPerl拡張正規表現メタ文字セット、JavaScript拡張正規表現メタ文字セットなどいくつかあるのだが、「どのUNIXでも(=POSIXで)使える」という特長を持たせたいのであれば、それらは覚えても意味がないので上記の3つさえおさえておけばよい。(例えPOSI

    どのUNIXコマンドでも使える正規表現 - Qiita
    richard_raw
    richard_raw 2015/05/07
    EREはBREの上位互換じゃない、だと……。
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

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

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
    richard_raw
    richard_raw 2015/02/02
    コメントも含めて有用だ……。/オプションはshebangで書くよりsetの方がいいのか。
  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

    シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
    richard_raw
    richard_raw 2015/01/26
    なるほどsetを使うのか!近頃はbashしか触れてないから配列に入れてましたわ。
  • シェルで変数のインクリメントに expr を使うと100倍遅い件

    シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

    シェルで変数のインクリメントに expr を使うと100倍遅い件
    richard_raw
    richard_raw 2014/12/29
    expr使わないといけないような場合は自分はPythonかCで書きます。でも「ファイル数だけ実行する」なら "for i in ./*.*; do ... done" とかシェルでやりたくなります。
  • 本当は使いたいけど使わないBashのTIPS - Qiita

    当は使いたいんだけどねー 仕事だとベンダーのUNIXサーバーが多いのでbashがなかったりします。 HP-UXとかマジに死んで欲しい。Solaris11は大好きです。 環境 CentOS 6.5 bash version 4.1.2 LINENO変数とFUNCNAME変数 当にbashが羨ましい。HP-UXAIXも何故bashを標準で搭載してくれないのだろう。 #!/bin/bash func1() { echo ${FUNCNAME}:${LINENO} } sub1() { echo ${FUNCNAME}:${LINENO} } func1 sub1

    本当は使いたいけど使わないBashのTIPS - Qiita
    richard_raw
    richard_raw 2014/12/17
    BASH_REMATCHを初めて使いましたが、便利ですねこれ。
  • Swiftをシェルスクリプトのように使う一番簡単な方法 - Qiita

    #!/usr/bin/swift import Foundation typealias Failure = (NSError!) -> Void typealias ResultBlock = (NSData!, NSError!) -> Void /// JSONObjectWithDataの戻り値として使用する enum JSONObjectWithDataResult { case Success(AnyObject) case Failure(NSError) } /// NSDataをJSONオブジェクトに変換し、JSONオブジェクトまたはエラーのいずれかを返す func JSONObjectWithData(data: NSData) -> JSONObjectWithDataResult { do { let json = try NSJSONSerialization.J

    Swiftをシェルスクリプトのように使う一番簡単な方法 - Qiita
    richard_raw
    richard_raw 2014/11/12
    おー、これはSwiftを使ってみたくなる。
  • expectコマンドの使い方

    www.uetyi.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS

    richard_raw
    richard_raw 2014/11/12
    使ってみたいですが、自動実行したい対象がブラックボックス化してしまった内部ツール(しかもEUC-JP)なので、うーん。
  • 本を読む 関数型言語shの基礎文法最速マスター

    関数型言語shの文法一覧です。他の関数型言語をある程度知っている人がこれを読めば、shの基礎をマスターしてshを書けるようになっています。以下、Clojureあたりを想定して説明します。 注意:これは基礎文法最速マスターねたのパロディです。動作は物ですが、意味はコジツケです。 REPL shの処理系は、POSIX準拠のUnix系環境であれば標準で用意されています。REPLを起動するには、shを実行します。 sh すると、プロンプトが表示されます。 $ shのほかに、REPLに行編集機能を付けたbash・zsh・tcshなどもありますが、ここでは割愛します。 なお、REPLとして使うほかに、あらかじめ用意したスクリプトをshで実行することもできます。 sh hoge シーケンス shの扱うデータは、すべて、ある単位(ラインと呼びます)のデータが並んだシーケンスです。たとえば、seq関数(L

    richard_raw
    richard_raw 2014/10/17
    実は私は、今までそうとは知らず関数型言語を使ってたのか……!(白目)
  • Talpa memorandum

    橘玲の『「読まなくてもいい」の読書案内』を読んだので、感想とメモをまとめておく。 この、タイトルは『「読まなくてもいい」の読書案内』だが、実際には「読まなくていい」はほとんど紹介されていない。紹介されているのは、当たり前の話かもしれないが読むべきだ。他の読書案内と異なっているのは、”こういうは読まなくて良い”と、ばっさり切り捨てているところ。読むべきか・読まなくてもよいかの基準は、20世紀後半に爆発的に進歩した科学研究の成果に置いている。著者は、この時期に起きた科学研究の大幅な進歩を”知のビッグバン”、”知のパラダイム転換”と呼び、これ以前に書かれたは(とりあえず)読む必要がないと言い切る。古いパラダイムで書かれたは捨てて、新しいパラダイムで書かれたを読もうという話だ。ちょっと乱暴な分け方ではあるが、1980年代に大学生だった私には案外納得できるものだった。学生時代に最

    richard_raw
    richard_raw 2014/06/24
    構造化しない関数化しない再利用しない……だと……!/私もワンライナーから組み上げていくので読んでみたいかも。……怖いけど。
  • 私が他人のシェルスクリプトから学んだこと | Yakst

    私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e

    私が他人のシェルスクリプトから学んだこと | Yakst
    richard_raw
    richard_raw 2013/08/22
    色付けとデバッグ関数を使ってみたいです。
  • Bashが急上昇 - 3月プログラミング言語人気

    先月に続いてRubyが順位を伸ばしており、PHPPythonについでスクリプト言語として第3位につけた。Perlはシェアを落としている。 3月でもっとも注目されるのは、Bashがこの数カ月でいっきにシェアを増やし12位につけたことにある。シェルスクリプトとしてはC shellも調査対象とされており、C Shellもこの数カ月で一気にシェアを増やしている。C shellのシェアはBashのシェアの半分ほど。 BashやAshなど、シェルスクリプトをプログラミング言語として採用する開発手法に注目が集まりつつあり、TIOBEの調査結果はこうした動向を反映したものではないかとみられる。

    richard_raw
    richard_raw 2013/03/13
    Bash好きですがホンマかいな。
  • Rubyワンライナー入門 - maeharinの日記

    先日仕事中、一瞬の隙も見逃さずに情報収集できるRubyワンライナーとスクリプトというネタエントリを書いたのだが、その際Rubyのワンライナーをもう少しまともに理解したいと思ったので入門してみた。手元のRubyは1.9.2 はじめに Rubyのワンライナーは、rubyコマンドに色々なオプション(-eや-nなど)をつけて実行する。各オプションの網羅的な解説が見たければ、コマンドラインでは$ man rubyで閲覧できるし、webではるりまサーチで参照できる。ただ、これらは網羅的すぎるので、以下よく使うオプションとその周辺情報についてまとめた。 -e 一番基的なオプション。スクリプトを実行する。(ちなみに他のオプションと組み合わせる時は必ず最後に記載する) 例: hogeと表示 $ ruby -e 'puts "hoge"' -n プログラム全体がwhile gets ... endというルー

    Rubyワンライナー入門 - maeharinの日記
    richard_raw
    richard_raw 2013/01/15
    "-r uri" くらいしか使ってませんでしたな。"-n"オプションがよくわかってませんでした。っていうかBEGIN, ENDとか使えるんだ……。