タグ

bashに関するKatagiriSoのブックマーク (16)

  • Bashの便利な構文だがよく忘れてしまうものの備忘録

    Bashでスクリプトを書く場合のポイントをまとめた Bashなどで書くシェルスクリプトは文法がシンプルで覚えると便利。他のプログラム言語だと何行もかかなければならないファイル操作や中身のデータ処理を、ちょちょいと数行レベルで書けとても強力だ。コマンドとの親和性が高い恩恵だろう1。 旧来バッチ処理で領を発揮するシェルスクリプトだったが、昨今はDockerDockerfileや起動スクリプトなど)で活用される機会も多いだろう。 しかしながら他のプログラム言語ではみられない記法があったり、逆に似た書き方もあったりと、混乱しがちなのもシェルスクリプトの特徴かもしれない。 いちいちGoogle先生に確認するのもめんどうなので、このページに整理した2。 主な参照先(よくお世話になっているページ): UNIXの部屋(68user's page) - http://x68000.q-e-d.net/~

    Bashの便利な構文だがよく忘れてしまうものの備忘録
  • MacでのJava開発環境構築を通して「PATHを通す」意味を学ぶ - Qiita

    PATHを通すということ プログラム実行時に自動的に検索させるディレクトリを指定することです。 たとえばJDKを配置する時、 windowsだと C:\Java\jdk1.8.0\Home\bin(以下略) Macだと ~/Library/Java/JavaVirtualachine/jdk1.8.0/Home/bin(以下略) みたいに同じJDKでもディレクトリに行き着くまでの階層が異なったりします。 そこでこの差異を吸収するために、実行マシン(コンパイラ?)上では上記の太字の部分を$JAVA_HOME$と定義することでどんな環境にも対応できるようにしています。 もちろん何もしていない状態のパソコンでは$JAVA_HOME$なんてものは定義されていないので、環境ごとに設定をしなければなりません。これをPATHを通すと表現します。 PATHの呼び方はパソコン体(OS単位)ではPATH、J

    MacでのJava開発環境構築を通して「PATHを通す」意味を学ぶ - Qiita
  • Bash - $PATH and ${PATH}

  • Linux入門 ~「パスを通す」とは~ - Qiita

    概要 ある程度プログラミングの経験のあるかたなら、 「パスを通す」という作業をしたことあるのではないでしょうか? こんなコード 今回は、パスを通すというのは一体なんなのか、なにをしているのか、というのを プログラミング入門者がわかるよう説明します。 結論 結論から入ります。 パスを通すとは 環境変数($PATH)の記述を変えて、コマンド検索パスを追加することです。 この定義を読み解いていきましょう。 環境変数 漢字が連なっていて難しそうですね。 変数というのは、数学なのででてくる「変数x」と全く同義です。 環境変数は、特別な変数で ローカル環境(ご自身のパソコン)全てで使える変数です。 言葉で説明されてもあまりピントこないと思うので実際に試してみたいと思います。 ご自身のターミナルを開いてください。 環境変数、$TEST、というものを定義してみましょう。 下のコマンドをターミナルで実行して

    Linux入門 ~「パスを通す」とは~ - Qiita
  • bashで素晴らしく生産性を上げるための10のテクニック | Yakst

    よく使うコマンドの組み合わせを関数として.bashrcに書いておく事で、色々な操作が簡単になる。筆者の.bashrcとそこに書かれた実用的な関数のサンプル、使用例。 (訳者注) 原文タイトルが「Ten tips for wonderful bash productivity」なので、10のテクニックというタイトルにしていますが、実際には9つしかありません。原文筆者に指摘したところ人も自覚されていなかった模様?です。悪しからず。 私はいつも自分のbashの環境をいじったり直したりしています。同じような問題に何度も遭遇しては、その度に解決策を探さねばなりません。うんざりして座り込んでしまうまでそれは続きます。お前いつも座って仕事してるだろって? ええ、でももう皆さんお分かりでしょう。そういう場合は、カスタム関数を作って、それを.bashrcに書き込んで、ログインする可能性のあるマシン全部に入

    bashで素晴らしく生産性を上げるための10のテクニック | Yakst
  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
  • if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス

    if 文と test コマンド if 文とは? if 文とは、与えられた条件式が真のときのみ処理を行い、それ以外の場合は処理をスキップする、などといった場合に使用される条件分岐処理である。 条件式には一般的に test コマンドを用いるが、ls コマンドや grep コマンド等の他のコマンドを用いても構わない。 if 文は条件式に指定されたコマンドの終了ステータスを判定し分岐を行う。終了ステータスが「0」の場合は真、その他の場合は偽となる。 if 文 タイプ 1

    if 文と test コマンド | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • BASHでの変数について - ファイヤープロジェクト

    BASHスクリプトにおける変数の取扱について説明する. 値の代入と参照 クォート 環境変数 パラメータ変数 配列 宣言 局所変数 値の代入と参照変数は宣言せずに使用できる.以下の文では,変数xに文字列hogeを代入している. x=hoge このとき,等号の両側にスペースをいれてはいけない.この変数xの内容を参照するには,変数の前に$を付ける. echo $x 変数の値は文字列型として扱われる.そして数値の操作をするときに数値文字列を数値に変換する.また,大文字と小文字は区別される.変数の開放にはunsetを使用する. $ x=100 $ echo $x 100 $ unset x $ echo $x クォートパラメータは空白,タブ,改行コードで区切られる.変数にこれらの値を代入するには,その値をダブルクォーテーションで囲う. x=”hoge foo” $変数名をダブルクォーテーションで囲う

  • シェル変数展開のまとめ – OpenGroove

    シェルにおける変数展開について。 変数展開{ }(ブレース)の中で各種文学列演算子を使い、変数の存在や値をチェック することができる。-,=,?,+演算子使用時に「:」を付加していれば値がヌルかどうか をチェックする。 省略された場合、値がヌルかどうかのチェックはせず、評価する変数が定義されて いるかどうかのみチェックする。 ${var:-str} シェル変数が未設定か値がヌルの場合、指定した値を返す。 この時変数varに値は代入されない。 $ echo ${animal} ←変数が未設定 $ echo ${animal:-cat} cat $ echo $animal ←変数は設定されていない ${var:=str} シェル変数が未設定か値がヌルの場合に指定した値を返し、さらに変数varに値が代入される。 $ echo $animal ←変数が未設定 $ echo ${animal:=d

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

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

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

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

  • bashrcの設定の読み込まれる順番 - それマグで!

    bashrcが反映されないなーと思ったので調べてみた。 すると、原因は .profile が無かった。 なので .profile にbashrc を読込設定を書いた bashrc読込設定は/.profileに書いておけばいい。(Debianのデフォルトを貰ってきた→後述) このとき、~/.profileに書いて大丈夫か心配になったので調べてみた。 設定に関するファイルの一覧 bash環境変数に関する設定は次のファイルに依って構成されていました。 /etc/profile ~/.bash_profile ~/.bash_login ~/.profile /etc/bash.bashrc ~/.bashrc どの順に読み込まれるか調べてみた。 各ファイルは自分のファイル名だけを出力する設定にして、その他を全部コメントアウトした /etc/profile を空っぽにしてEchoだけして読込順を調

    bashrcの設定の読み込まれる順番 - それマグで!
  • zsh で find を使わずに簡単にファイルを絞り込む - Qiita

    ファイルの種類、タイムスタンプなんかで条件を指定してファイルを絞り込みたくなる時があるだろう。例えばこんな場合だ。 通常ファイルだけを別の場所に移動させる(ディレクトリはそのまま残す) シンボリックリンクだけ削除する タイムスタンプが1日以上古いファイルだけ削除する こういうときは普通は find コマンドでファイルを探すんだけど、zsh の「ファイル修飾子」を使うと1行で簡単にできるようになるので紹介する。 ファイル修飾子とは 「ファイル名修飾子」とは、ファイル名指定の後に付けるファイルの種類で絞り込みを行うための記号のこと。 例えばこんな感じ。

    zsh で find を使わずに簡単にファイルを絞り込む - Qiita
  • シェルの基本操作法(前編4:リダイレクションとパイプ)

    表1 リダイレクションで利用する主なメタキャラクタ ちなみに,「<」は小なり,左アングル,左山カッコ,「>」はケット,大なり,右アングル,右山カッコ,「&」はアンパサンドなどと読みます。 [画像のクリックで拡大表示] Linuxでは,入出力装置に対してもファイルの一種として,言い換えればファイルと同じように,アクセスできることは前回に紹介しました。入出力装置に関係するファイルには,あらかじめ用途が決まっているものがあります。それが以下の3つのファイルです。 かっこ内に記した「stdin」などが,実際のファイル名になります。これらは,/devディレクトリの中にあります。標準入力と標準出力をまとめて「標準入出力」とも呼びます。 ●標準入出力 デフォルトでは,標準入力はキーボード,標準出力および標準エラー出力はディスプレイ(ウインドウ・システム下では使用中の端末エミュレータのウインドウ)に割り当

    シェルの基本操作法(前編4:リダイレクションとパイプ)
    KatagiriSo
    KatagiriSo 2013/11/26
    パイプ
  • コマンドラインで使用しているTips - Qiita

    具体的には、以下の様な利用方法が考えられます。以下のコマンドは、フォルダを作成し、作成したフォルダに移動しています。

    コマンドラインで使用しているTips - Qiita
  • ディレクトリ内すべてのファイルのアクセス権を変更したいです。 - OKWAVE

    FedoraCore3を使っています。 GUIのファイルブラウザにて右クリック→プロパティ→アクセス権の変更を行っています。 選択したファイル・ディレクトリは変更できますが、選択したディレクトリの下の階層は変更できません。 選択したディレクトリの以下の階層すべてを変更するにはどのようにすればよいのでしょうか。 GUIの操作でもCUIコマンド操作でもかまいません。 よろしくお願いいたします。

    ディレクトリ内すべてのファイルのアクセス権を変更したいです。 - OKWAVE
  • 1