タグ

bashに関するreponのブックマーク (26)

  • bashの初見殺しっぷりがハンパない件 - Qiita

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

    bashの初見殺しっぷりがハンパない件 - Qiita
    repon
    repon 2019/01/06
  • Bash変態文法最速マスター

    注意このドキュメントは、すでにshまたはbashでそれなりにスクリプトを書いている人向けに書かれています。自分が対象読者でないと思ったら、すっぱりと読むのをあきらめてください。時間の無駄です。 このドキュメントではBash version 3.x 系(3.1以降) 4.x 系を対象にしています。2.x 系だと微妙に文法が違うところがあるので注意してください。ちなみに 4.x 系だと、変態なことをしなくても同じことができたり(連想配列が使えるようになったはず)、逆にもっと変態なことができたりします。(2013/09/11 追記) 書きかけで放置している間にメイン環境が 4.x になりました。3.x と 4.x でどこが違うかもう覚えてないし調べるのも面倒なので 4.x 系前提でいきます。 このドキュメントは、主にPOSIXなshにはないBashの機能を使い倒すことを目的としています。ここにあ

    repon
    repon 2018/12/20
  • 【bash】現在の日付時刻 がファイル名 - Qiita

    command > `date +%Y%m%d_%H-%M-%S`.log # => 20141025_23-54-16.log Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    【bash】現在の日付時刻 がファイル名 - Qiita
  • 本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita

    .bash_profile はログイン時にのみ実行されます。具体的な用途は: 環境変数を設定する (export する変数) 環境変数はプロセス間で勝手に受け継がれるのでログイン時のみ設定すれば十分です。 .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: 環境変数でない変数を設定する (export しない変数) エイリアスを定義する シェル関数を定義する コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 その他 .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの? を参照。もっと突き詰めたい人は Linux: .bashrcと.bash_profileの違いを今度こそ理解する。 Bash 以外のシェルを使用しない人は .bash_profile と .bashrc

    本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
  • ターミナル起動時に.bashrcを読み込むようにする - アインシュタインの電話番号

    Mac OS Xのデフォルトでは、HOMEに.bashrcを作成してもターミナル起動時に自動で読み込むようにはなっていないようなので、自動で読み込むように.bash_profileに記述すると良い模様。 .bash_profileを作成 HOMEに.bash_profileを作成して以下を記述。 if [ -f ~/.bashrc ] ; then . ~/.bashrc fi これでターミナルを再起動すれば、起動時に自動的に.bashrcを読み込んでくれる。 とあるプログラマーの覚書 OSXでのbashrcの設定

    ターミナル起動時に.bashrcを読み込むようにする - アインシュタインの電話番号
  • Windows10 の "Bash on Ubuntu on Windows" で困ったこと - Qiita

    インストール記事はすでに沢山あるので、使用中に困ったことと、インストール直後のカスタマイズに焦点を絞って記事にする。 インストール手順 Qiita上の下記記事が丁寧でわかりやすかった。 http://qiita.com/Aruneko/items/c79810b0b015bebf30bb 要は次の3ステップを実行すれば良い。 1. 開発者モードを有効化する 2. Windows Subsystem for Linux(Beta) を有効化して再起動する 3. コマンドプロンプトを開いて bash と打ち込み、ユーザ名とパスワードを入力する 日語文字化け 上記の bash の打ち込みの後に、ダウンロードとファイル展開が始まるのだが、その時点で画面の日語が激しく文字化けした。途方にくれて管理者コマンドプロンプトから lxrun /uninstall /full で一旦削除し、lxrun /

    Windows10 の "Bash on Ubuntu on Windows" で困ったこと - Qiita
  • シェルスクリプトの罠を避ける三つの tips

    シェルスクリプトは、Unix 系環境で仕事をするエンジニアなら誰もが一度は書くであろうにもかかわらず、書き方や特性を熟知している人が少ない言語です。この記事は、シェルスクリプトを書くときに罠を踏まないようにするために最低限あなたが気を付けるべき tips 集です。「たかがシェルスクリプト」とは思わないでください。生半可に書かれたシェルスクリプトはあなたの (チームの) 生産性をかえって低下させます。 Shebang に bash を明示しろ Bash でしか使えない機能のことを俗に Bashism と言います。Bashism はもちろん Bash 以外のシェルでは動きません。これに関するありがちな罠は、以下のように発生します。 Bash が /bin/sh として使われている環境でシェルスクリプトを書く。うっかり Bashism がシェルスクリプトに含まれていても、 /bin/sh は何も

    シェルスクリプトの罠を避ける三つの tips
  • ShellCheck – shell script analysis tool

    GPLv3: free as in freedom documented on the ShellCheck Wiki available on GitHub (as is this website) already packaged for your distro or package manager supported as an integrated linter in major editors available in CodeClimate, Codacy and CodeFactor to auto-check your GitHub repo written in Haskell, if you're into that sort of thing.

    repon
    repon 2017/01/14
  • bash 超プログラム術

    bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である

    repon
    repon 2017/01/04
  • bash-hackers.org

    repon
    repon 2016/06/30
  • Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita

    なぜStackOverflowか Upvote/Downvoteの仕組みにより、自然とベストプラクティスが蓄積されている 世界中のプログラマの目に晒されているため質が高い 答えが幾つか出されているため視野が広がる・一つの手法に固執することがない 英語の勉強にもなる StackOverflowのおすすめの見方 質問はまずしっかり理解する それに対する答えを比較してみて、なぜそう動くのかを考える コメント欄はFont Size的には小さいが、かなり濃いコメントが書かれていることが多いので暇なら目を通す 10. Looping through the content of a file in Bash? ファイルの内容をループで取得するためのベストプラクティス。 (2015/10/23 : 節修正しました。@heliac2000 さん、@kawazさん、ありがとうございました。詳しくは記事コ

    Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita
  • Linuxでファイルを空にする5つの方法 - 基本へ帰ろう

    ログファイルを空にしたいときなど、いつも忘れるので・・・。 : > file % : > file これが一番シンプルですね。 : という区切りのコマンドがあり、それを file にリダイレクトしてあげるとファイルが空になります。man bash には以下のように記述されています。おそらくzshでは一番シンプルです。 ・・・ A : separates the event specification from the word designator. ・・・ ・ ・ ・ SHELL BUILTIN COMMANDS Unless otherwise noted, each builtin command documented in this section as accepting options preceded by - accepts -- to signify the end of

    Linuxでファイルを空にする5つの方法 - 基本へ帰ろう
  • Mac Leopardのbashに関する設定ファイル(.bash_profile .bashrc など)をまとめてみた - kanonji’s diary

    Mac LeopardにFlex SDKを入れた時に環境変数のPATHをいじったけど、その時ちゃんと設定してないはずのMacPorts用のPATHも設定されてる事に気がつきました。 でもFlex SDK用のPATHを設定したら、MacPorts用の設定が消えてしまい、不思議に思ったので調べてみました。 結論 Flex SDK用のPATHを記述するために ~/.bash_profile を作成した事で、MacPortsのインストーラーが用意した ~/.profile が読み込まれなくなった事が原因でした。 MacPortsはインストール後に自分でPATHに追加する必要があると説明する所もありましたが、恐らくもともと ~/.bash_profile か ~/.bash_login を作ってある環境だったからかも知れません。 もしくは、昔のMacPortsではそうだったのかも。 読み込み順序 U

    Mac Leopardのbashに関する設定ファイル(.bash_profile .bashrc など)をまとめてみた - kanonji’s diary
    repon
    repon 2015/05/17
  • bashの設定ファイルが読み込まれる順番 - blogですかい

    bashが起動する際、設定ファイルがどのような順番で読み込まれるかを調べてみた bashのソースコードには maybe_execute_file (SYS_PROFILE, 1); if (act_like_sh) /* sh */ maybe_execute_file ("~/.profile", 1); else if ( (maybe_execute_file ("~/.bash_profile", 1) == 0) && (maybe_execute_file ("~/.bash_login", 1) == 0)) /* bash */ maybe_execute_file ("~/.profile", 1); と書かれている つまり、 /etc/profile を読み込む ↓ ~/.bash_profile と ~/.bash_login を読み込む (もし、どちらのファイルも無

    bashの設定ファイルが読み込まれる順番 - blogですかい
    repon
    repon 2015/05/17
  • bash設定ファイルの一覧と読み込み順序まとめ

    .bashrcや.bash_profileの読み込み順序がいまいち覚えられないので、まとめてみました。 bash起動時に読み込むファイル シェルを起動する度に、環境変数やエイリアス、関数を定義するのは非効率で面倒です。 そのため、それらの定義を自動的に行うための設定ファイルが用意されています。 bashの設定ファイルには、下記のものがあります。 /etc/profile:ログイン時に実行され、全ユーザーから参照される .bash_profile:ログイン時に実行される .bash_login:~/.bash_profileがない場合、ログイン時に実行される .profile:~/.bash_profile、~/.bash_loginがない場合ログイン時に実行される .bashrc:bash起動時に実行される .bash_logout:ログアウト時に実行される /etcディレクトリ以下の設定

    bash設定ファイルの一覧と読み込み順序まとめ
    repon
    repon 2015/05/17
  • bash 入門

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

  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

    ターミナルの作業が捗るかもな小技5つ - Qiita
  • .bash_profileと.bashrcの違いは

    ユーザーのホームディレクトリには、.bash_profileや.bashrcといったファイルがある。どんなファイルがあるかは、-aオプション付きでlsコマンドを実行すると表示される。 $ ls -a ./          .bash_history  .bashrc  .emacs           .rpmmacros  rpm/ ../         .bash_logout   .canna   .emacs-color.el  .screenrc   tmp/ .Xdefaults  .bash_profile  .cshrc   .emacs.el        .xemacs.el この中の.bash_profileと.bashrcは、共にログインしたときに実行される設定用のシェルスクリプトだが、両者にはもちろん違いがある。 .bash_profileは、ログイン時だけに

  • ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば

    条件1. /bin/shの実体がbashのディストリビューション RHEL CentOS Scientific Linux Fedora Amazon Linux openSUSE Arch Linux (自ら設定した場合: Debian, Ubuntu) 条件2. 動作環境 CGI (レンタルサーバでありがちなCGIモードのPHP等も含む) Passenger(Ruby) 条件3. プログラム内容 Passengerは全死亡 *1 systemや `command`、 '| /usr/lib/sendmail' などで外部コマンド実行 *2 PHPのmailやmb_send_mail、その他フレームワーク等を介したメール送信 *3 以下は条件1が不要 明示的にbashを呼ぶ 先頭で #!/bin/bash や #!/usr/bin/env bash しているプログラムを実行 (rbenv

    ウェブアプリにおけるBash脆弱性の即死条件 #ShellShock - めもおきば
  • bashヒストリのダイエット。bash履歴活用まとめ - それマグで!

    Bashのヒストリをダイエットしました。ダイエットして減った分、よりたくさんのコマンド履歴が確保出来ました。 履歴を確保するとタイプ量が減って仕事早くなるッス。 重複する履歴を保存しない 重複するコマンドは最新一件に限定する。重複は保存しない ~/.bashrc #重複履歴を無視 export HISTCONTROL=ignoredups Ubuntuなら最初から設定してあったように思える。 空白から始めたコマンドを保存しない 履歴に保存したくないコマンドは空白から記述する ~/.bashrc #空白から始めたコマンドを無視 export HISTCONTROL=ignorespace コマンド例 $ □cat /etc/passwd|grep takuya #↑空白入れることで保存されない。 空白を履歴に追記しない、重複履歴を保存しない ignorespaceとignoredupsを同時

    bashヒストリのダイエット。bash履歴活用まとめ - それマグで!