タグ

linuxとshellに関するakaneharaのブックマーク (13)

  • 仕事で使えるシェルスクリプト

    [第136回関西Debian勉強会 + Linux Kernel 勉強会 LT大会](https://debianjp.connpass.com/event/90376/)での発表資料です。

    仕事で使えるシェルスクリプト
  • シェルスクリプトでメール送信、「さようならnkf」編 - Qiita

    プログラムからメールを送信したいなーと思ったことありますよね。そんな時、どうやってますか? 何らかのプログラミング言語でメール送信用のライブラリーの使い方調べて組む? いやいや、そんなことしなくてもシェルスクリプト(と基的なコマンド)で送れますって。 必要なのはたったこれだけ メールを送信できるホスト (これ最重要) Bourneシェル(素のshでも、bashでもdashでもkshでもzshでも) sendmailコマンド(大抵は /usr/sbin あたりに入ってます) これだけあればOK。つまりPOSIX(UNIXで必須のもの)以外で必要なものはsendmailコマンドを備えた主要MTA(sendmail、Postfix、qmail、…)だけです。(nkfすら不要) 技術解説 ここからしばらくはどうやって送るかの技術解説ですが、解説すっ飛ばして出来上がったシェルスクリプトの使い方を教

    シェルスクリプトでメール送信、「さようならnkf」編 - Qiita
  • 40.ウェブサイトのソースコードを見てみる

    ナックス「こんにちは。今日はちょっとソースコードの話をしたい」 デビー君「僕はミートソースが好き」 ナックス「38.ウェブサイトはどんな風に作られているのかで、なんか<html>とか<body>みたいな謎のコードを書きましたね?」 デビー君「うん」 ナックス「これを一般的にウェブサイトを表示するためのソースコードと言います」 ナックス「そして、ソースコードを元に色々やれば画像がダウンロードできる!はず!多分!」 デビー君「多分かい!」 ナックス「さて、画像検索で『公式壁紙』という検索キーワードで検索してみてください」 ナックス「ちなみに検索時期によって検索結果が変わると思うので、この例示の画像と異なる検索結果になっても気にしないでください」 ナックス「さて、検索結果が表示されたら右クリックしてください。『ページのソースを表示』みたいなメニューがあるはずです。そのメニューをクリックしてくださ

  • そこまで遅くないShellスクリプトの書き方

    この記事は Shell Script Advent Calendar 2015 10日目の記事です。 9日目の記事はryoana14さんの麗しきawkの世界でした。 Shellスクリプトがいつまで経ってもまともに書けないMasWagです。書けないなりにも人の書いた(昔の自分が書いたものも多く含む)スクリプトを見てこれは遅いなと思うことはたまにあります。書き方のコツというか考え方が幾つかあると思うのでまとめてみようと思います。基的な話なので多分Shellスクリプトをあんまり普段書かない人向けだと思います。ShellはBashを前提として書きます。zshだともっと色々できるのかもしれないです。細かい説明は(そんなに細かくなくても?)省いているので適宜manやinfoを参照すると良いでしょう。 forkを減らす Shellでコマンドを使うということは多くの場合プロセスをforkしていることにな

  • bash vs. dash

    bash vs. dash PLUG West 2008-10-20 PLUG North 2008-11-10 JP Vossen bashcookbook.com STOLEN!!! ● Note: I stole a lot of this material from Carl Albing's "bash vs. dash" presentation at Ubuntu Line 2007! ● Original at: http://tinyurl.com/3mv8gy bash vs. dash ● Huh? ● bash != Bourne != dash != ... http://en.wikipedia.org/wiki/Comparison_of_computer_shells http://en.wikipedia.org/wiki/Bash http://en.w

  • Bashのよくある間違い | Yakst

    原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

    Bashのよくある間違い | Yakst
  • the-art-of-command-line/README-ja.md at master · jlevy/the-art-of-command-line

    対象 : このガイドは、初心者向けでも経験者向きでもある。幅広く(書いてあることは全て重要)、かつ明確で(多くのケースに対して具体的な例を付ける)、そして簡潔(他の場所で見つけられるような重要でないことや脱線したことは省く)であることをゴールにしている。各項目は、多くの場面において必須であるか、他の方法に比べて劇的に時間を節約してくれるだろう。 OS X用のものを除き、Linux向けの内容となっており、その多くは各種LinuxおよびMacOS(あるいはCygwin)でも使えるだろう。 インタラクティブなBashを使うことを想定しているが、多くの項目は他のシェルやBashのスクリプトでも使えるだろう。 (このリポジトリへ)組み込むメリットがあるのであれば、標準Unixコマンドやパッケージインストールコマンドも含める。 注意 : 1ページ内に収めるために、内容には暗黙的に書かれていることがある

    the-art-of-command-line/README-ja.md at master · jlevy/the-art-of-command-line
  • explainshell.com - match command-line arguments to their help text

    write down a command-line to see the help text that matches each argument

  • bash 超プログラム術

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

    akanehara
    akanehara 2015/12/04
    「"によるクォーテーションをした時には、1~4、9~10のステップは実行されない。」ということは、""の中では ~ ${} $() $(()) だけが実行されると覚えておけばいいのかふむふむ
  • bashでストリームデータ処理 - Qiita

    <でファイルや名前付きパイプ(named pipe, fifo)から標準入力へデータを流すことでき、>で標準出力をファイルや名前付きパイプへ流すことができます。 分配 一つのデータストリームを複数のプロセスに分配するパターンです。「放送(ブロードキャスト)」と言ってもいいかもしれません。 基的にはteeコマンドで実現できます。 名前付きパイプを使う場合

    bashでストリームデータ処理 - Qiita
  • shellのtrapについて覚え書き - Qiita

    trap コマンドとは 実行中のプロセスに対するシグナルを検知し、指定された処理を返すコマンドです。 ・・・と、言ってもよくわからないと思います。 特に「シグナル」。 シグナル とは 実行中のプロセスに対して、特定のイベントを通知するために送出されるものです。 よく使用されるのは、プロセスを終了するためのシグナルである SIGINT や SIGKILL です。 シグナル送出に良く利用するのは、kill コマンドと、ショートカットで利用する Ctrl + C ではないでしょうか。 上記のコマンドは、プロセスの強制終了などで利用した事があると思います。 上記の強制終了の kill コマンドは、オプションで -9 を指定しています。 -9 は SIGKILL を意味し、指定したプロセスに対し強制終了のシグナルを送出します。 プロセスがこのシグナルを送られると、どんな状態であろうと強制終了させられ

    shellのtrapについて覚え書き - Qiita
  • zshのalias -s (suffix alias)が神な件 - プログラムモグモグ

    まず, 他のシェルをお使いの人にはごめんなさい. aliasコマンドの-sが使えるのは zsh 4.2.x- で, 他のシェルでは実装されていないと思います. あと, もう既に alias -s 知ってるよーって人は読まなくていいです. alias -s って何? 打ったコマンドの後ろ(suffix)を見て, 適当に宜しくやってくれるやつです. 次の例を見て下さい. ~$ echo "print ('hello, world')" > hello.py ~$ python hello.py hello, world ~$ alias -s py=python py=python ~$ ./hello.py hello, world ~$ Pythonのコードは python hello.py で実行出来ますが, お尻が py なら python を使います, とaliasしておけば, ./

    zshのalias -s (suffix alias)が神な件 - プログラムモグモグ
  • コマンド履歴の達人を目指してみる - ザリガニが見ていた...。

    ターミナルのコマンド履歴をインクリメンタルに検索して実行するにはControl + R - Macの手書き説明書 自分も知らなかった...。まだまだ知らないことって、いっぱいある。 それにしてもコマンド履歴というのは、自分はよく使う。直接入力するより、過去の履歴を探し出して、必要な修正してからコマンド実行するパターンが多い。長〜いファイルパスやオプション指定のあるコマンドなんて、ほとんどがコマンド履歴の修正と実行である。コマンド履歴が使えるからこそ、快適なコマンド操作ができると思っている(自分の場合)。 コマンド履歴は質実剛健なコマンドの世界に、選択して実行するというGUI的なゆるい操作感を与えてくれる。コマンドを忘れる心配や、スペルを間違う心配から、救ってくれる。それほどまでにコマンド履歴に頼りきっている状況なのに、今日も上下の矢印キーを激しく連打するしかない自分は、一体どうしたら良いも

    コマンド履歴の達人を目指してみる - ザリガニが見ていた...。
  • 1