タグ

shellに関するakaneharaのブックマーク (30)

  • Flavio Copes

    Here are a few of the things I do: BOOTCAMP. Once a year I organize a coding bootcamp to teach you how to build modern Web Applications (next edition Q1 2024). SOLO LAB. I run this course and community to help you start a solopreneur business on the Internet (next edition someday in 2024). BOOKS. I wrote 16 coding ebooks you can download for free on JS Python C PHP etc etc etc. BLOG. I wrote 1600+

    Flavio Copes
  • Googleの肩に乗ってShellコーディングしちゃおう - Qiita

    はじめに GoogleさんがShellスタイルガイドを共有していたので、いくつか気になった点をピックアップしました。 自分のShellスタイルはかなり我流なので、自省の意味も込めてコメントも併記します。 Googleスタイルガイドの元ネタ (Python/C++/Java/Rとかだけでなくdocumentガイドなど色々あります) https://github.com/google/styleguide Shellスタイルガイド (今回はこちら) http://google.github.io/styleguide/shell.xml 当は人間がチェックするのではなくcpplintのためXML定義なのかもですが、気にしない気にしない。 (見たところcpplintc++だけだと思ってます) commitフックでshell系のlint走らせろっていうのが今風なのかもしれませんが、キニシナイキ

    Googleの肩に乗ってShellコーディングしちゃおう - Qiita
  • どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita

    シェルスクリプトは環境依存が激しいから…… などとよく言われ、敬遠される。それなら共通しているものだけ使えばいいのだが、それについてまとめているところがなかなかないので作ってみることにした。 「どの環境でも使える=POSIXで定義されている」と定義 「どの環境でも使える」とは、なかなか定義が難しい。あまりこだわりすぎると「古いものも含め、既存のUNIX全てで使えるものでなければダメ」ということになってしまう。しかし、私個人としては 今も現役(=メンテナンスされている)のUNIX系OSで使いまわせること にこだわりたい。 とはいっても全てのOSやディストリビューションについて調べられるわけではないので、この記事では基的に最新のPOSIXで定義されていることをもって、どの環境でも使えると判断するようにした。(飽くまで「基的に」ということで) 従って、互換性確保のため、シェルの中で使ってよい

    どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 - Qiita
  • シェルプログラミングの基礎知識 | Shinta's Site

    UNIX のコマンドインタプリタである Bourne shell を知っておかないといろいろ困るので基的なことをメモしておく。ここでは、コマンドをバッチ処理するための シェルスクリプトについて記述しています。 #!/bin/sh UNIXでスクリプトを記述する場合、一番初めの行は #!(shebang)ではじめます。さらに、シェルスクリプトであることを明確にするためにコマンドをフルパスで記述します。シェルスクリプトでは、#!/bin/sh となります。Bourne shell の場合、初めの行が : (コロン)のみでもよいが、現在あまりこの記述は使われていない。また、#! /bin/sh というように #! の後に半角スペースを入れても動作する UNIX システムもあるが、互換性を考えると半角スペースは入れないほうがよい。 コメント行と改行 # 以降コメントとなり、\ を利用して複数行を

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

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

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

    Spring Securityを触ったことがあるけど、裏で何が起こっているか分からず、モヤモヤしてる方にお勧めの資料です。 Spring Securityのキーとなる「Security Filter Chain」と「Security Context」についてじっくり説明しています。 資料を読んでいただければ、Spring Securityのデバッグやカスタマイズがし易くなるはずです。 ※読者の想定としてSpring Securityに触ったことがある方を想定しています。全くの初心者の方は、簡単な認証・認可を事前に動かしてみることをお勧めします。

    シェルスクリプトを極める
  • シェルスクリプトでメール送信、「さようならnkf」編 - Qiita

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

    シェルスクリプトでメール送信、「さようならnkf」編 - Qiita
  • URLエンコード・デコードする - Qiita

    Webサーバーログ解析で使いたかった Webサーバーのログを見ていると、検索ページからジャンプしてきている形跡があった。しかし、検索キーワードはURLエンコードされた状態であり、デコードしないとわからない。果たしてどんなキーワードなのか興味があった。 そこで、FreeBSDのportsに収録されているurlendecというプログラムをサクっとインストールしようとしたら…… # cd /usr/ports/net/urlendec # make install ===> urlendec-1.0 is only for i386, while you are running amd64. *** [install] Error code 1 Stop in /usr/ports/net/urlendec. # これだから、POSIX準拠でないコマンドは信用ならんのじゃ!!! しょーがないので

    URLエンコード・デコードする - Qiita
  • 40.ウェブサイトのソースコードを見てみる

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

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

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

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

  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • 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

  • プリキュアで学ぶワンライナーWebスクレイピング - Qiita

    「確かに人事にはLinuxができる人が欲しいとは言ったが、まさか顔合わせでcurlとgrepでプリキュア全員の名前を端末で出力するような奴が来るとは思わなかった。」 — ぐれさん (@grethlen) 2014, 10月 21 クローラー/Webスクレイピング Advent Calendar 2015の7日目です。 IT企業を志望する就活生の方々は「FizzBuzzで100まで数えろ」とか「素数を表示しろ」とかいきなり言われても、得意な言語でならサクッと実装できるスキルは身につけておきたいですね。いつ面接で聞かれるかわかりません。 そして当然のごとく「プリキュア全員表示しろ」と言われても対応できるようにしておくべきでしょう。文字列処理、Webスクレイピングの基が身についているかどうかがこの問い一つでわかります。面接で既に出題された方も少なくないのでは? そこで、いくつかのアプローチでW

    プリキュアで学ぶワンライナーWebスクレイピング - Qiita
  • 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のステップは実行されない。」ということは、""の中では ~ ${} $() $(()) だけが実行されると覚えておけばいいのかふむふむ
  • /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 の違い - 双六工場日誌
  • なんでも自動化するエンジニアが残していったライフハック・スクリプト

    元々はロシア語の掲示板に出ていた、職場での小さなことをなんでも自動化していたハッカーの話が英語に翻訳され、Hacker News等で話題になっています。 xxx(ハンドル名): オーケー、ビルド担当エンジニア転職で辞め […] 元々はロシア語の掲示板に出ていた、職場での小さなことをなんでも自動化していたハッカーの話が英語に翻訳され、Hacker News等で話題になっています。 xxx(ハンドル名): オーケー、ビルド担当エンジニア転職で辞めちまった。当にターミナルに住んでるようなやつだった。わかるだろ、Vimが大好きで、.dotファイルで図を描いて、Markdownでwikiに投稿するようなタイプさ… もし何か、そう何でも、90秒以上掛かるようなことがあったら、スクリプトで自動化しちゃうんだ。 xxx: そういうわけで我々はここにいて、彼の、そう、「遺産」を見てるところだ。 xxx

    なんでも自動化するエンジニアが残していったライフハック・スクリプト