タグ

bashに関するfbisのブックマーク (12)

  • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

    【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
  • docker run -it で学ぶ tty とか標準入出力とかファイルディスクリプタとか - valid,invalid

    たとえばRubyのちょっとしたスクリプトを試したいときにdocker run -it ruby等でirbを立ち上げて試したりするわけですが、よく使うdocker runやdocker execの -i, -t ってそもそも何なんだろうとふとした時に思いました。 そして、それぞれ何のためのオプションなのか、--helpを見ても「Keep STDIN open...? pseudo-TTY...?」ぱっと理解できなくて辛くなり。 -i, --interactive Keep STDIN open even if not attached -t, --tty Allocate a pseudo-TTY docs.docker.com 『なるほどUNIXプロセス』を読んでこのあたりの基礎知識が身についた気がしているので、「とりあえず付けておけばOKでしょ」ぐらいのふわっとした理解から「なぜ無いとい

    docker run -it で学ぶ tty とか標準入出力とかファイルディスクリプタとか - valid,invalid
  • /bin/sh と /bin/bash の違い - 双六工場日誌

    みなさん、shebang書いてますか! Shebangというのは、スクリプトの最初の一行目に書く、「#!/bin/sh」とか「#!/usr/bin/perl」とかそういうあれです。詳しくはWikipediaさん(シバン (Unix))に聞いてくださいまし。 Twitter見てると、「そもそもこれにshebangなんて名前がついてるの知らなかったよ」という発言も見る不憫な子ではあるのですが、そこに何が書いてあるかで実は動作が違うよってのが今日の題です。それで、はまっていたのを最近見て、まああまりここで引っかかる人はいないと思いつつ、この点を書いた情報を見ないのでまとめてみました。*1 今日取り上げるのは、bashがデフォルト設定になっているLinuxでの「#!/bin/sh」と「#!/bin/bash」のお話。確認はCentOS5, 6で行なっています。 さて、上記の環境の場合、「/bin

    /bin/sh と /bin/bash の違い - 双六工場日誌
  • シェルスクリプト(bash)のif文やwhile文で使う演算子について - Qiita

    どうも、江川くんです。 今回はシェルスクリプト(bash)のif文やwhile文で使用できる演算子についてとぼとぼ書いていきたいと思います。(実はちょっと眠いので、じゃーって書いていきます。) 更新情報 2016/8/19 新規作成 2916/8/19 表現のわかりにくいところを修正 比較演算子とその仲間 文字列比較演算子 演算子 意味

    シェルスクリプト(bash)のif文やwhile文で使う演算子について - Qiita
  • bash スクリプトの実行中上書き動作について

    を設定してから再度試した所 bar が表示された。backupcopy は編集中のファイルによって自動で判別する auto がデフォルトになっている為、試す際には明示的に yes に設定しないといけない。 bash の実装確認 evalstring.c の parse_and_execute でコマンドが処理されており、input.c の with_input_from_buffered_stream で読み込みの準備が行われている。バッファの読み込みの体は y.tab.c つまりパーサから直接呼ばれており、このパーサは fgets(3) で読み込まれつつ実行される為、一括でファイルが読み込まれている訳ではない。 while/do でループ実行した際に、ファイルを書き換えられたら戻り先はどうなるか、についてはスクリプトはバッファ付きで読み込まれており、そのバッファがファイルシステムから読

    bash スクリプトの実行中上書き動作について
  • bashで忘れがちな機能とかいろいろの備忘録 - Qiita

    背景 シェルスクリプトを書くことが結構あるのでその備忘録代わりに記事を書いてみました。 特殊変数とは 特殊変数とは シェルによって自動的に値が設定される特殊な変数がいくつかあり、それら特殊な変数を参照することにより、様々な情報を取得することができる。 変数名 説明

    bashで忘れがちな機能とかいろいろの備忘録 - Qiita
  • プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話ShellScriptBash 普通のプログラミング言語での開発に慣れた人ほどシェルスクリプト、特にBashで戸惑う部分の一つに、i = 0のように空白を開ければエラーになるし、かといってif[$i!=0]のように詰めてもやっぱりエラーになる、という点が挙げられます。書きたい物を思うように書けなくて「なんだよこのクソ言語は!!!」とブチギレる人は少なくないのではないでしょうか。この記事では、そのイライラを解消するポイントをお伝えしようと思います。 以下、特に断り無く「シェルスクリプト」と書いている場合はすべて「Bashのスクリプト」という意味になります。zsh等他のシェルではまた事情が異なりますので、ご注意ください。 (※以前プログラマーの君! 騙されるな! シェルスクリプトはそう書いち

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita
  • シェルスクリプトBash入門 - Qiita

    1.定番の"Hello world!" まずは作業フォルダーに移動します。 そのあとVimを使ってスクリプトファイルを作ります。 実行しようと「./hello.sh」とコマンド打つと -bash: ./hello.sh: Permission denied とパーミッションつまり権限がないと言われる。 ls -la hello.shでみてみると -rw-r--r-- 1 ebisennet staff 30 12 4 21:32 hello.sh まあ実行権限はないですね。 chmod u+x hello.sh で実行権限を与えます。確認すると -rwxr--r-- 1 ebisennet staff 30 12 4 21:32 hello.sh 実行できますね。

    シェルスクリプトBash入門 - Qiita
  • .bash_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita

    この記事の内容 .bash_profile と .bashrc の使い分けの説明はいろいろあるんですが、 どうにも腑に落ちなかったので、私なりに調べてみました。 で、自分的にはこれで必要十分な理解ができたと思ったので投稿。 とりあえずここまで理解すれば、後はその都度対処していけるかなー、と。 2018/03/20追記 :もともと合わせて1つの記事にする予定だった 「Linuxでシェル間の設定の引継ぎを蛇足感満載で確認した」という記事を投稿しました! こちらと合わせて読んでいただけると嬉しいです。 スーパー忙しい人のための結論 設定はすべて.bashrcに書く これでいいんやで。 動作確認の環境 Windows10のHyper-V上で動いているCentOS7で動作を確認 CentOS7はインストール直後の状態で試しているので設定ファイル等は書き換えていない OSインストールのグループ(最小限

    .bash_profileと.bashrcなんて使い分けなくてよかったんや! - Qiita
  • [小ネタ] mkdir したディレクトリに cd する方法 9 選 +1 (BASH) ※追記あり | DevelopersIO

    $ mkdir /very/_very/Very-long/directory_name/20170915 なんて操作をしたあと、そのディレクトリにcdしたい場合ってまれによくありますよね。 どんなやり方があるか考えてみました。 1. コピペする そのまんまですが、これをやりたくなくてこの blog を書いてます。 2. TAB 補完で頑張る これも無いわけではないですが、間違えたりすることを考えると正直あんまりやりたくないです。 3. 上矢印キーで前コマンドを呼び出し、右矢印キーで先頭に戻ってmkdirをcdに書き直す よく見る方法ですが、もうすこし少ない手数でできないでしょうか。 4. 上矢印キーで前コマンドを呼び出し、Ctrl-Aで先頭に戻ってCtrl-Dx5 のあとにcd BASH のキーバインドはデフォルトだと emacs モードなので、このやり方が出来ます。 でもまだちょっと手

    [小ネタ] mkdir したディレクトリに cd する方法 9 選 +1 (BASH) ※追記あり | DevelopersIO
  • スクリプト中で実行しているコマンドを表示する - らくがきちょう

    普通にシェルスクリプトを書くと実行結果のみが表示され、『実行しているコマンドそのもの』は表示されません。「試験結果のエビデンスとして、結果と共にコマンドも残したい」「スクリプトをデバッグしたい」といった場合は実行結果だけでなく、実行したコマンドも表示されると便利です。今回は「スクリプト中で実行しているコマンドも表示する方法」をメモします。 /bin/sh に「-x」オプションを付与する /bin/sh や /bin/bash に「-x」オプションを指定すると実行中のコマンドも表示出来ます。以下は man sh からの抜粋です。 -x xtrace Write each command to standard error (preceded by a ‘+ ’) before it is executed. Useful for debugging. 通常のスクリプト(実行コマンドは表示しな

    スクリプト中で実行しているコマンドを表示する - らくがきちょう
    fbis
    fbis 2017/09/14
  • bash: 標準出力、標準エラー出力をファイル、画面それぞれに出力する方法 - Qiita

    この記事では、標準出力、標準エラー出力を好き勝手に出力する。 ファイルに出力、画面に出力、両方出力などなどパターン化してみた。 出力用スクリプト作成 なんのコマンドを使うか悩む前に、両方をちゃんと出力するスクリプト作成から開始しよう。 今後の内容ではこれを使っていく。

    bash: 標準出力、標準エラー出力をファイル、画面それぞれに出力する方法 - Qiita
    fbis
    fbis 2017/09/14
  • 1