タグ

bashに関するsh19eのブックマーク (20)

  • HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ

    みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyPythonが含まれなくなる (参考リンク

    HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ
  • bpkg.io - Registered at Namecheap.com

    2019 Copyright. All Rights Reserved. The Sponsored Listings displayed above are served automatically by a third party. Neither Parkingcrew nor the domain owner maintain any relationship with the advertisers. Privacy Policy

  • pecoの基礎の基礎 - Qiita

    「pecoってツールらしきものが流行っている」と思いつつ、導入とか難しそうと思って後回しにしていたんですが、気がついたら自分の手元のbash設定ファイルにpecoを使う関数が定義されていたので、改めて初歩からやってみました。 説明に使用しているシェルはお馴染みのbashです。 pecoとは GitHubのpecoのサイト とてもシンプルなツールで 「標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返す」 コマンドです。 シンプルゆえに様々な組み合わせで効果を発揮します。あらゆる場面での選択肢を標準入力に渡して、選択された結果を標準出力から受け取って加工してコマンド実行をする、というのが基的な流れ。 説明じゃ伝わらないので実例を体験したほうが早いかも。 peco のインストール pecoで検索すると「pecoはGoでできている」とか出てきて「Goってなんぞや」

    pecoの基礎の基礎 - Qiita
  • Bashにおける括弧類の意味 - Qiita

    Bashのスクリプト内で {} や () や [] などの記号の意味。 詳細はここの記事に出ている。 http://stackoverflow.com/questions/2188199/how-to-use-double-or-single-bracket-parentheses-curly-braces http://mywiki.wooledge.org/BashFAQ/031 bracket [] の意味 []はtestコマンドの略式。 if文の引数で使う事が多い。

    Bashにおける括弧類の意味 - Qiita
  • Macで少し生産性の上がるBashエイリアス集 | RickyNews

    Qualityandstyle Macでは基的にターミナルを開けばShellでコントロール可能です。 これがあるから使っている!という人も多いかと思います。 Finderをターミナルにドラッグドロップするとパスが表示されたりなど、 CUIGUIの親和性も非常に高いです。さて個人的に作成した便利なエイリアス達を紹介します。 基的に~/.bashrcや~/.zshrcなどに下記の行をコピーすれば動く簡単な仕様です。 md [Linux/MacOSX] カレントディレクトリにあるmarkdownファイルを全てvimバッファに載せ開きます。 alias 'md'='vim ./*.md' 複数バッファを同時に開きますが、あまりその動きは想定していません。 現在のGitプロジェクト等ではMarkdown形式のREADMEファイルなどが必ず置かれていると思います。 そういったディレクトリに移動

    Macで少し生産性の上がるBashエイリアス集 | RickyNews
    sh19e
    sh19e 2014/07/22
  • Bash Reference Manual

    Bash Features This text is a brief description of the features that are present in the Bash shell (version 5.2, 19 September 2022). The Bash home page is http://www.gnu.org/software/bash/. This is Edition 5.2, last updated 19 September 2022, of The GNU Bash Reference Manual, for Bash, Version 5.2. Bash contains features that appear in other popular shells, and some features that only appear in Bas

  • 今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita

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

    今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita
  • [Bash] ファイルやディレクトリの存在をチェックする方法

    Bashで、ファイルやディレクトリの存在を確認する方法を紹介します。 if testによる確認方法 ファイルやディレクトリの存在を確認するには、以下の構文を使います。 if [ -e パス ]; then # 存在する場合 else # 存在しない場合 fi 「パス」の部分に、チェックしたいファイルやディレクトリのパスを指定します。 (実際は、testコマンドを実行することになります。) ファイルtest.txtと、ディレクトリtestdirを用意した状態で、サンプルcheck.shを実行してみます。 test-check-file$ ls check.sh test.txt testdir check.shの内容は以下のとおりです。 #!/bin/bash file=test.txt dir=testdir # test.txtが存在するかチェック if [ -e $file ]; th

  • Bash script tutorial:Media hub

    最速でBashシェルスクリプトの基礎をマスターしてもらうことを目標にしたチュートリアルです。 以下のような内容を盛り込んだシェルスクリプトを題材に学習します。 変数と特殊変数 関数 条件分岐 ループ 入力待ちとキーボード入力 これだけ盛り込まれていれば、シェルスクリプトでよく必要になる基的な事項をかなりカバーできるようになっています。 もちろんそれだけですべてではありませんが、あとは自分で調べながら目的に合ったシェルを作っていくことが出来ると思います。 シェルスクリプトとは? そもそもシェルスクリプトとはなんでしょうか? 通常コンソールで操作するようなコマンドを実行したい順に記述したテキストファイルです。 テキストファイルに処理を順に記述しておくことで一括で実行することが出来ます。このようなテキストファイルをShellスクリプトと呼びます。 シェルスクリプトを構成するテキストファイルには

  • フロントエンドエンジニアのための Dotfiles

    フロントエンドエンジニアのための」というか「フロントエンド開発のための」です。 前半は超初心者向け、後半は中級者向けの内容です。

    フロントエンドエンジニアのための Dotfiles
  • Bash で動作するプログレスバー - tkuchikiの日記

    tkuchiki/bash-progress-bar · GitHub を実装しました。 実装した関数は2つで、 progress_bar TIMES CURRENT は、TIMES に何回繰り返すか、CURRENT が何回目かを引数に取ります。 TIMES=10, CURRENT=1 の場合、1 / 10 * 100 = 10% のようになるので、 決まった回数繰り返すような処理の時に使うことを想定しています。 progress_bar_bytes TOTAL_FILE_SIZE SENT_FILE_SIZE は、TOTAL_FILE_SIZE にファイルサイズ、 SENT_FILE_SIZE に送信済みファイルサイズを引数に取ります。 TOTAL_FILE_SIZE=1000000, SENT_FILE_SIZE=100000 の場合、 100000 / 1000000 * 100 =

    Bash で動作するプログレスバー - tkuchikiの日記
    sh19e
    sh19e 2014/05/21
  • [Bash]標準出力・標準エラー出力の全て(1>&2とか)まとめ | Coffee Breakにプログラミング備忘録

    標準出力と標準エラー出力についてメモ 毎回調べ直すことになっているので、メモメモ。さらに調べるのにまとまったサイトがなくて1つ1つ調べるはめになるので。まとめ シェルによって違いがあるため今回はbashに限る 前提知識 【知識0】 unixコマンドは左から右に処理される。これは絶対 【知識1】 (標準入力 : 0) 標準出力 : 1 ※画面に出力される 標準エラー出力 : 2 ※画面に出力される 【知識2】 0,1,2はファイルディスクリプタと呼ぶ 【知識3】 「>」リダイレクト シェルの結果を出力する場所を指定可能 command ファイル・ディスクリプタ> 出力先 ※commandは何らかのコマンドかshファイルとしている 【知識4】 出力先などを特定のファイルディスクリプタに送りたい場合は「&ファイル・ディスクリプタ」とする echo "standard output" >&2 【知

    sh19e
    sh19e 2014/04/28
  • 個人的なShellTipsをまとめてみた - UNIX的なアレ

    naoya_itoの火を噴いたシェルtips - Togetter これを読んでふと書きたくなったので。ちなみに僕はbash使っています。 CTRLを使った便利系 まず、UNIXな操作あたり。 キーバインド 意味 CTRL + s キー入力を受け付けなくする 画面出力抑える CTRL + q 上記解除 CTRL + z バックグラウンドに. fgで戻る CTRL + l 画面をクリア。clearと同等 CTRL + c 現在の処理を停止 CTRL + d exitと同等 CTRL + r historyからコマンド検索 emacsっぽいやつ どっちかというとキー操作に近い。基emacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。 キーバインド 意味 CTRL + a 行頭 CTRL + e 行末 CTRL + f → CTRL + b ← CTRL

    個人的なShellTipsをまとめてみた - UNIX的なアレ
  • String Tricks that Bash Knows

    I use the terminal for a lot of my work, so when I need to process output from other tools, I have a lot of options. I started out using shell scripts, but eventually moved on to scripting languages — first with Perl, then Ruby, with occasional Python. Lately I’ve been getting familiar with my shell (bash) again, finding new ways to stretch its usefulness as a tool on its own, without pulling in t

    String Tricks that Bash Knows
  • bash - シェル変数の初期設定 - あんみのの備忘録

    変数の値がヌルかなどの条件により、代入する値や表示する内容を変えることができる。 ${var:-word} varに値が入っていないならwordを値として返す ${var:=word} varに値が入っていないならwordを代入する ${var:?word} varに値が入っていないならword出力する ${var:+word} varに値が入っていたらwordを値として返す :は省略可能で省略した場合、変数の値が未設定かヌルが代入されている場合にヌル文字が 入っている変数として扱う。未定義の変数の場合は値が入っていない変数として扱う。 $ var1=abc $ echo ${var1:-xyz} #値が入っていればそのまま表示 abc $ var1= $ echo ${var1:-xyz} #値が入っていなければ-以降を表示 xyz $ echo $var1 #値は入っていないまま $

    bash - シェル変数の初期設定 - あんみのの備忘録
  • 指定した階層分だけディレクトリを遡れるようにするためのコマンド "up" - Qiita

    cd で上の階層に戻るの面倒…。 いつもいつも cd ../../../ とか打ってしまってるそこのアナタ。面倒だと感じたことはありませんか?もっと指定した階層分だけズバッと戻れたらいいのに…と感じたことはありませんか?しょうがないなぁのび太君は。 upコマンド作りました。 まぁ全然大したことやってませんが、作りました。ワンライナーです。 使い方は、upファイル内のコマンドを.bashrcもしくは.zshrc等にコピーするだけです。 これを使うと、例えば3階層上のディレクトリに戻りたいときに

    指定した階層分だけディレクトリを遡れるようにするためのコマンド "up" - Qiita
  • シェルスクリプトを書くときはset -euしておく - Qiita

    エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

    シェルスクリプトを書くときはset -euしておく - Qiita
  • Big Sky :: bundle exec がウザい

    ruby のアプリを動かす時にいちいち bundle exec って書くのがダルい。書きたくない。でもシステムに入ってたり違うバージョンの物が動いて変な動作をされても困る。 どうにかしてこのダルさを解消できないかと考えてみた。 まず rbenv を使ってるなら gem でインストールされるコマンドは必ずシェルのラッパとして生成され、そこから物が起動する様になっている。例えば rails であれば以下の様なシェルになっている。 #!/usr/bin/env bash set -e [ -n "$RBENV_DEBUG" ] && set -x program="${0##*/}" if [ "$program" = "ruby" ]; then for arg; do case "$arg" in -e* | -- ) break ;; */* ) if [ -f "$arg" ]; th

    Big Sky :: bundle exec がウザい
  • https://google-styleguide.googlecode.com/svn/trunk/shell.xml

    Revision 1.26 Paul Armstrong Too many more to mention Bash is the only shell scripting language permitted for executables. Executables must start with #!/bin/bash and a minimum number of flags. Use set to set shell options so that calling your script as bash <script_name> does not break its functionality. Restricting all executable shell scripts to bash gives us a consistent shell language that'

  • bash 入門

    ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの

  • 1