タグ

shellに関するsbg3のブックマーク (42)

  • Python製シェルxonshを半年使った所感や環境設定のまとめ - Stimulator

    - はじめに - Pythonにおけるpython-prompt-toolkit(以下ptk)を使って作られたシェルである「xonsh」を同僚にオススメされて、大体半年くらい使ったので設定とかxontribとか所感を晒していく。 前半でxonshのメリット、デメリットの概要を記載し、後半に自身が利用する設定やxontribについて記載する。 この記事は、xonsh導入に至る人もしくは、環境設定について広く知りxonshを扱える人を増やす事が目的である。 追記:2018/07/18 xonsh 0.7.0が出ていますが、現在prompt-toolkit2.0の各機能対応中という感じです。 これは、ptk1.x -> 2.xにおいて結構な破壊的変更があるためです。 現状はpip install xonshする時に pip install prompt_toolkit==1.0.15 pip i

    Python製シェルxonshを半年使った所感や環境設定のまとめ - Stimulator
  • GitHub - nvbn/thefuck: Magnificent app which corrects your previous console command.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - nvbn/thefuck: Magnificent app which corrects your previous console command.
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    sbg3
    sbg3 2016/12/15
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
  • GitHub - peco/peco: Simplistic interactive filtering tool

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - peco/peco: Simplistic interactive filtering tool
  • Lessの便利な使い方

    最近 Stop using tail -f (mostly) や 「tail -f」を使うのは情弱、情強は「less +F」を使う などless押しな記事が幾つか上がっているんだけど、タイトルが煽り気味なのか若干反感を呼んでいるようなのでless派が職場で肩身の狭い思いをしないようにもう少し便利な使い方を紹介したい。 tail -fの様なScroll forward less +Fで起動またはless起動中にF 元記事にもあるtail -fと同様の振る舞い。正直この機能と検索だけでいいのであればtailで十分。lessの便利なところは様々な機能との組み合わせにあって、これから紹介する機能は基的にこのモードと組み合わせが可能だ。あと、less開いてFのほうがタイプが面倒くさくないのでおすすめ。 1行で表示する (改行しない) less -Sで起動またはless起動中に-Sr(-Sでモード切

    Lessの便利な使い方
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

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

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
    sbg3
    sbg3 2015/02/25
  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

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

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
  • BashPitfalls - Greg's Wiki

    Bash Pitfalls This page is a compilation of common mistakes made by bash users. Each example is flawed in some way. 1. for f in $(ls *.mp3) One of the most common mistakes BASH programmers make is to write a loop like this: for f in $(ls *.mp3); do # Wrong! some command $f # Wrong! done for f in $(ls) # Wrong! for f in `ls` # Wrong! for f in $(find . -type f) # Wrong! for f in `find . -type f` # W

  • tag – Mavericksのタグファイル管理をターミナルから利用

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Mac OSX 10.9 Mavericksになってから追加された機能の一つにタグがあります。ラベル機能はこれまでもありましたが、よりタグの付け替えがしやすくなったことでタグを使ってファイル管理をしてみようと思えるようになったのではないでしょうか。 そのタグ機能をターミナルから扱えるようにするソフトウェアがtagです。コマンドラインで使えるということはシステムとの連携も含めてやりやすくなりそうです。 コマンド名はtagです。オプションは以下のようになります。 $ tag --help tag - A tool for manipulating and querying file tags. usage: tag -a | --add <tags> <file>... Add tag

    tag – Mavericksのタグファイル管理をターミナルから利用
  • Use multiple CPU Cores with your Linux commands - awk, sed, bzip2, grep, wc, etc. - RankFocus - Systems and Data

  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

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

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

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

    日付 から unixtime への変換方法 date コマンドに ‘+%s’ 引数をつけると unixtime で表示する。 $ date +%s 1108218628 特定の日付を変換したいときは、’–date’ オプションを利用する。 $ date +%s --date "2005-01-01 00:00" 1104505200 unixtime から 日付 への変換方法 $ date --date "@1104505200" Sat Jan  1 00:00:00 JST 2005 ぼくが知る限り、date コマンドでは変換できない。このため、awk をもちいる。 awk でもできる。 $ echo 1104505200 | awk '{print strftime("%c",$1)}' Sat Jan 1 00:00:00 2005 フォーマットをそろえる場合。 $ echo 11

    unixtime と 日付 の相互変換
  • エイプリルフールかと疑ってしまう。BashがまるでRubyのようになる·Skull MOONGIFT

    SkullはBashの中でRuby風にオブジェクトを扱えるようにしてしまうソフトウェアです。 BashはサーバやMac OSXなどで誰しもが使っているかと思います。しかし記述がレガシーな感じで書きづらいと思ったことも多いはず。そこで使ってみたいのがBashをOOにしてくれるSkullです。 Skullを読み込みます。 strという文字型オブジェクトを定義します。そうするとlengthなんてメソッドが使えるようになります。 upcaseで大文字になったり。 methodsなんてメソッドまであります。 OSのバージョンも取れます。 System.osでmacと返ってきます。 SkullはRubyのようなオブジェクトをBashに提供してくれます。Bashがいきなりモダンな感じになって、面白いソフトウェアです。 SkullはBash製、GPL v3のオープンソース・ソフトウェアです。 MOONGI

    エイプリルフールかと疑ってしまう。BashがまるでRubyのようになる·Skull MOONGIFT
  • Shell startup scripts — flowblok’s blog

    Update (2020-03-29) When I originally wrote this blog post, my intent was to describe how things worked on a typical system at the time. Unfortunately, the operation of bash startup scripts is dependent on patches added by OS distributions, compile-time options and if bash thinks it was invoked by sshd or rshd. I have no desire to add complexity to this post, so instead please read this as a rough

  • #16 「moshは確かにイノベーション」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog

    初めまして。HTMLファイ部兼ダーツ部のkubota(@kubosho_)です。 最近はAndroidブラウザーのレンダリングエンジンの気持ちになりながら仕事をしています。 このエントリーはtech.kayac.com Advent Calendar 2012 16日目の記事です。 Vimまじイノベーション さて、テーマが「私の中のマイイノベーション 2012」ということで、今年はいろいろとイノベーションがあったのですが、その中でもイノベーションだったのが「Vim」でした。 元々Emacs派だったのですが、弊社HTMLファイ部の部長である@edo_m18に「Vimいいよいいよ」と洗脳おすすめされた結果、Vimを使い出して今では8:2くらいの割合でVimを多く使っています。 しかし、それよりももっとイノベーションを起こしたものが昨日できました。 それがmoshです。 moshまじイノベーショ

    #16 「moshは確かにイノベーション」 tech.kayac.com Advent Calendar 2012 - KAYAC engineers' blog
  • anything 的な絞りこみコマンド percol の紹介 - 備忘録

    いつも KeySnail でお世話になっている id:mooz さんが,percol という超絶便利コマンドを作ってらっしゃいます.このコマンドはとてもライフチェンジングなコマンドなのですが,あまり Web 上に情報がないので紹介がてら布教してみようと思います. percol のインストール&使い方 percol は入力の1行を1候補として,部分一致かつ AND 検索で絞り込みし,選択した候補を出力するコマンドです.端的に言えば Emacs の anything.el のコマンド版です. インストール方法や基的な使い方は github リポジトリの README に全部書いてありますが備忘録として書いておきます. $ git clone git://github.com/mooz/percol.git $ cd percol # python setup.py installこれでインス

    anything 的な絞りこみコマンド percol の紹介 - 備忘録
    sbg3
    sbg3 2012/12/07
  • UEC - usp engineers' community site - UEC - usp engineers' community

    UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて

    sbg3
    sbg3 2012/11/06
  • 複数のサーバから一斉にファイルを収集するのにpslurpが便利 - Glide Note

    以前、ブログに書いて以来、活用しているpsshとpscpなんですが、 付属コマンドのpslurpについてはすっかり忘れて全く利用していなかったんですが、 同僚の刺身さんが結構活用しているというのを聞いて、改めて使ってみると大変便利! Parallel sshで複数のホストへ同時にコマンドを実行する | Glide Note - グライドノート 環境はSL6.1です。 pslurpの使いどころ 複数のサーバからaccess.logなどのログ、my.cnfといった設定ファイルなどの同名ファイルを持ってくる場合 DNSラウンドロビンや、ロードバランサを利用していてアクセスログが分散している場合 通常何も考えずscpとかで持ってくるとファイルが上書きされてしまうので、 ホスト毎にファイルを分けて管理したい場合にpslurpが活躍します。 pipを利用してpsshの導入 2012年なんでeasy_i