Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

shellに関するgologo13のブックマーク (60)

  • http://steve-parker.org/sh/cheatsheet.pdf

  • install(1)コマンドが便利だった件

    はじめに install(1)という、cpとmkdirとchmodを同時に行うような便利コマンドがあることを知りました。 (忘れちゃいましたが、何かのMakefileを見ているときに存在に気付きました) これを使うと、プロビジョニングなどのスクリプトが簡潔に書けるようになりそうです。 ……というわけで使い方のメモがてらまとめてみます。 manの内容まとめ installはBSD版とGNU版があるようですが、ここではGNU版について書きます。 BSD版ではいくつかのオプションが使用できません。(-D はなかったと思う) ちなみにmacの場合は標準でBSD版のinstallが入っており、Coreutilsを入れるとGNU版のinstallが使えるようになります。 4種類の使い方 install [OPTION]... [-T] SOURCE DEST SOURCEをDESTにコピーする。-Tを

  • https://www.geektrainee.com/entry/2013/11/23/191650

    https://www.geektrainee.com/entry/2013/11/23/191650
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

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

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • 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の引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
  • 私のpeco活用事例 - k0kubun's blog

    pecoというインタラクティブに入力をフィルタして出力するコマンドがあって、使い始めてからシェルの操作方法が大幅にかわり、だいぶライフチェンジングだった。 最近このへんが流行ってるのでやたら記事あるけど、せっかくなので僕も使い道を紹介しようと思う。 pecoをzshで使う 1. peco ghq ghqを使ったローカルリポジトリの統一的・効率的な管理についてのこと。 僕も$GOPATHは$HOMEにしていて、今のところ別に困ることはない。 go getしたりghq getしたりして美しくディレクトリ切った上で、pecoに割り当てておいたC-sですぐ目的のディレクトリ開けるようにしてあるので、めちゃくちゃソース管理が楽になった。 function peco-src() { local selected_dir=$(ghq list | peco --query "$LBUFFER") if

    私のpeco活用事例 - k0kubun's blog
  • linuxでバックグラウンド処理を便利にするコマンド+おまけ - 絶品ゆどうふのタレ

    追記2009/10/16: いくつか指摘を受けましたが、linuxでっていうかzshに結構依存してしまっています。 つい自分環境についてばっかり考える悪い感じw 書こうと思った発端。 "disownコマンド - Do You PHP はてな" ことコマンドラインのTIPSに関しては、予想外な人が予想外な事を知らないものだ!と驚く事があります。 disownを知らなかったってことは、このへんももしかしたら知られてないかも?というバックグラウンド処理に関する豆知識(+おまけ)をいくつか。 知ってたらごめんなさいだけど、こういうのが需要あるってわかったら口に出して言ってみておくのは大事だよね! 1. しょっぱなからdisownした状態でバックグラウンド処理にする「&|」 いちいちバックグラウンド処理にした後にdisownするって2度手間が嫌な人に。 disownについては上記の記事参照。 % p

    linuxでバックグラウンド処理を便利にするコマンド+おまけ - 絶品ゆどうふのタレ
  • disownコマンド - Do You PHP はてブロ

    昨日知りましたw disownはバックグラウンドプロセスをデーモン化するbashの組み込みコマンドで、引数に"%"+ジョブ番号を指定します。 以下、使用例。 $ cat tmp.php <?php while (true) { sleep(10); file_put_contents('/tmp/tmp.php.log', date('YmdHis'). PHP_EOL, FILE_APPEND|FILE_TEXT); } $ php tmp.php & [1] 31993 $ jobs [1]+ Running php tmp.php & $ disown %1 $ jobs $これでターミナルを終了させても大丈夫。 再度ターミナルで繋げて、pstree確認してみると、initプロセスの子プロセスになっているのが分かります。 init(1)─┬─atd(1819) : ├─mingett

    disownコマンド - Do You PHP はてブロ
    gologo13
    gologo13 2014/05/22
    ジョブをデーモン化する。ターミナルから抜けても、デーモンプロセスは続行される。
  • 指定したバックグラウンドプロセスをデーモン化する - 元RX-7乗りの適当な日々

    昔、「ログアウト後もコマンドを実行し続けたい場合」というエントリで"nohup"コマンドの使い方を書いたのですが、nohupし忘れた時はどうすればいいのか、という話。 指定したバックグラウンドプロセスをデーモン化するためにdisownというbashの組み込みコマンドがあります。 #!/bin/sh while :; do sleep 5 done ためしに上記のようなスクリプトを用意して、"&"付で実行します。 $ sh test.sh & [1] 2692 $ jobs [1]+ 実行中 sh test.sh &次に、disownコマンドを実行します。引数には"%"+ジョブ番号を指定します。(上記例だとジョブ番号は"1") $ disown %1 $ jobs $ この通り。psコマンドの結果は↓ $ ps -edf ・・・省略・・・ nami 2692 1708 0 02:25 pts

    指定したバックグラウンドプロセスをデーモン化する - 元RX-7乗りの適当な日々
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Zsh 入門者のための超速設定ガイド - Qiita

    はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す

    Zsh 入門者のための超速設定ガイド - Qiita
  • SSHの仕組み!ぼんやりとした理解だったものをすっきりさせようの会 - nigoblog

    特にシリーズ化を目論むわけではないですが、 完全に理解しているわけではないけど、使える。 みたいなものってありますよね。 そういうのはよくないのでしっかりと理解しよう! というテーマでやります。 今回はSSHの仕組みについて書いていこうと思います。 参考記事 概要 ~SSHとは~ SSHの仕組みを理解するための用語 鍵交換方式の仕組みと実際のコマンド 便利なオプション まとめ このような流れで書いていきます。 参考記事 こちらを参考にします。(ぶっちゃけこれだけ見ればオッケーな気も。。。) 公開鍵暗号について理解が足りていなかったのでメモ - かせいさんとこ 鍵交換方式による認証 概要 ~SSHとは~ SSHはSecure Shellの略で、あるマシンに別のマシンからアクセス , ログインするというイメージです。 主にサーバー(リモート)にクライアント(ローカル)からアクセスするときに使い

    SSHの仕組み!ぼんやりとした理解だったものをすっきりさせようの会 - nigoblog
    gologo13
    gologo13 2013/10/18
    乱数発生させてたんだ。ちょっとわかった
  • 私が他人のシェルスクリプトから学んだこと | Yakst

    私はシェルスクリプトの大ファンで、他人のスクリプトから面白い方法を学ぶのが大好きだ。最近、SSHサーバの2要素認証を簡単にするためのauthy-sshスクリプトに出会った。このスクリプト群を見まわしていて、みんなと共有したいたくさんのクールなことを見つけた。 出力に色付けする 出力文字列を、成功した時は緑に、失敗した時は赤に、警告は黄色に色づけしたいと思うことはたくさんあるだろう。 NORMAL=$(tput sgr0) GREEN=$(tput setaf 2; tput bold) YELLOW=$(tput setaf 3) RED=$(tput setaf 1) function red() { echo -e "$RED$*$NORMAL" } function green() { echo -e "$GREEN$*$NORMAL" } function yellow() { e

    私が他人のシェルスクリプトから学んだこと | Yakst
  • hash再構築は rehash じゃなくて hash -r - 今日もスミマセン。

    コマンドをアンインストールしたり、格納場所を変更したとき、一時的に command not found な状態になってしまうので、shellが保持している hash テーブルを再構築してあげる必要がある。 てっきり、rehashというコマンドがあるもんだと思ってたが違ってた。 素直に Google 先生に聞いてみたところ。 >*Z.K. : > I was trying to install gEda which installed fine from their CD, but > after setting the path variables I ran rehash as the instructions told > me and I get this error: > > bash: rehash: command not found > > Where is the reha

    hash再構築は rehash じゃなくて hash -r - 今日もスミマセン。
  • Zsh | Grml.org

    AboutFeatures Team Screenshots Sponsors NewsBlog Release Notes Press Getting GrmlDownload Packages & Files DocumentationDocumentation FAQ Wiki Zsh DevelopmentReporting Bugs Known Bugs Beta Versions Contribute Get in touchContact Introduction / grml-zsh-refcard / grmlzshrc(5) / grml-zsh-config / zsh-lovers / Resources IntroductionOne of the main features of the grml system is the zsh (Z shell). The

  • ターミナルでのlsの出力に色をつける。 - tsaka’s blog

    デフォルトだと色がつかないようなので、GNU lsをインストールする。 GNUの基的なツールがまとめられたパッケージをダウンロードして、インストール。 http://www.gnu.org/software/coreutils/ ls のオプションに、--color=auto をつければ色がつく。 zshの補完リストも同じように色をつける場合は、以下の設定を.zshrc にする。 zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}via http://www.ex-machina.jp/zsh/index.cgi?FAQ%40zsh%A5%B9%A5%EC#l2

    ターミナルでのlsの出力に色をつける。 - tsaka’s blog
    gologo13
    gologo13 2013/01/27
    ls --color=auto
  • dircolorsが見つからないときは - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    dircolorsが見つからないときは - Qiita
  • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

    プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

    シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
  • オレオレaliasやシェル関数のあれこれ - harry’s memorandum

    よく忘れるからメモ。 仕事で古いUNIXを使うので、どうしても手が'more'と覚えてしまっているから仕方がない。 $ alias more='less' バックアップするときのシェルの関数。個人的には便利。 $ backup(){ cp -pr $1{,.`date +%Y-%m-%dT%H:%M:%S`}; } $ backup a.c $ ls a.c* a.c a.c.2012-09-17T00:46:46 空ディレクトリを削除するワンライナー。ただaliasにしただけ。 $ alias rmdir_r='find . -depth -type d | xargs rmdir 2> /dev/null' 空ディレクトリを削除するワンライナー。Linuxのfindutilsならこっちの方がいいのかもしれない。 $ alias rmdir_r='find . -type d -empt

    オレオレaliasやシェル関数のあれこれ - harry’s memorandum
  • Tech Tip: TCP/IP Access Using bash | Linux Journal

    Most of us default to wget, curl, netcat and others when in need of network data from the commandline, not knowing, or perhaps forgetting, that bash often provides the support that we need using redirection from /dev/proto/host/port. For example: $ cat </dev/tcp/time.nist.gov/13 55103 09-09-29 17:58:55 50 0 0 0.0 UTC(NIST) * Reads the time in Daytime Protocol (RFC-867) from the NIST Internet Time

    gologo13
    gologo13 2012/04/30
    /dev/tcp