Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
curl コマンド 2015/03/31 HTTPアクセスをしてコンテンツを取得できるコマンド。 wgetでも同じようなことができる。 FTPやSCPとかでもファイル転送できるらしいが、自分はHTTPやHTTPSで使うことがほとんど。 URLをパラメータにしてそのコンテンツを標準出力させるのが、基本的な使い方。 $ curl http://www.example.com/ ファイルに保存したければ、リダイレクトを使えばよい。 -o オプションでもファイル保存ができるらしいが、そんなオプションを記憶しておくよりもどのコマンドでも使えるシェルのリダイレクトの方法を覚えておけば、ほとんどの場合に使えるから、自分はそうしている。 $ curl http://www.example.com/ > example.html F5アタックなんかしたいときは $ while :; do curl -s '
概要 bashの記法は独特なものが多く毎回ググってしまうのでまとめて(と言いつつまとまりがないですが。。。)おこうと思います。 ある程度まとまってからpostしようとか思ってたらごちゃごちゃになっちゃいました。 bashで使えるという意味なのでposixシェル共通のネタも混ざってます。 随時更新します。参考になれば幸いです。 参考 man bash リファレンスマニュアル Advanced Bash-Scripting Guide カッコ色々 bashでは色々なカッコがありますが、よく違いが分からず使っていたりするのでまとめてみます。 []と[[]] []はtestコマンドのaliasです。[[]]じゃないとできないこととしては、以下のようなものがあります。 空白を含む文字列をクォートしなくてOK var='abc 123' # []の中だとクォートしないとエラーになる [ $var =
2009年01月06日21:36 echoコマンドで改行やタブを扱うには@Linux bash カテゴリdebianecho UNIX系OSでも最も有名な部類に入るコマンドechoは、引数の文字列や変数の中身を表示することができます。つまりCでいうprintf、JAVAでいうSystem.out.printlnみたいなものですね。 # echo "hoge" hoge 改行文字\nがあってもそのまま出力します。( 環境によっては、説明文は "\" 、コマンド例には"¥"と表示されますが、同じ文字です) # echo "hoge\nhoge" hoge\nhoge -eオプションによって\nは改行として扱われます。(これはbashの場合でDebianのdashの場合は最下位の追記を参照) # echo -e "hoge\nhoge" hoge hoge ただし、ここで一つ注意。ダブルクォー
date コマンド 2021/01/24 現在の時刻を取得したり、設定したりするコマンド。OSが刻んでいる日時がずれている場合は、root権限でこのコマンドを使って正しい日時を設定する。 時刻の表示フォーマットを指定することもできる。 「30日後は何日か?」などの簡単な日時の計算もできる。 現在日時ではなく、処理にかかる時間を測定するにはtimeコマンドを使う。 基本的な使い方 2021/01/22 # 現在の日時を表示 $ date # 現在の日時をUTCで表示 $ date -u # フォーマットは + で始まる書式で指定 $ date "+%Y%m%d-%H%M%S" # 24時間後の日時を表示 $ date -d tomorrow # -d の代わりに --date でも同じ $ date --date tomorrow # 30日後の日付を表示 date "+%Y/%m/%d"
ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、**何もせずに終了ステータス0(つまり正常終了)**を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト
→ 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す
はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニア・インフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て
ハマったのでメモ。 bash&zshでシングルクォートのエスケープをする場合はちょっとしたテクニックが必要らしい。 ダメダメ例 ダメダメなエスケープ。 % echo 'tanaka\'s OS' quote>残念ながら'tanaka\'で終わってしまう。 回避する。 エスケープするにはちょっとしたテクが必要。 % echo 'tanaka'\''s OS' tanaka's OS'\''という意味不明なエスケープをする。 何故か? 分解してみる。 % echo 'tanaka' \' 's OS' tanaka ' s OSシングルクォートの中で\'というエスケープが出来ないので、一旦文字列を終了し、\'を入力。もう一度文字列を再開する。 まとめ シングルクォートのエスケープはかなり面倒。 shも同様なので、シェルスクリプトを書く際は要注意。 ダブルクオートなら"tanaka's OS"だ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く