並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1576件

新着順 人気順

ShellScriptの検索結果321 - 360 件 / 1576件

  • iptablesを設定して日本のIPだけを許可する | DevelopersIO

    shellを作ってみる Webサーバを立ち上げる機会が増えてきたので、事前にできる限りの対策はやっておこうと思い、国単位でのアクセス制御をやってみたので自分用のメモとして残します。 世界の国別IPv4アドレス割り当てリストが公開されていますのでその情報を活用させてもらうことにします。 動作させた環境はAWS Amazon Linuxです。 ※あくまでも以下はサンプルのシェルなので、適用する場合は自己責任でお願いします。自身すら入れなくなる可能性もあるのでご注意を。 #!/bin/sh IPLIST=cidr.txt # 初期化をする iptables -F # Flush iptables -X # Reset #iptables -P INPUT DROP # 受信はすべて破棄 iptables -P OUTPUT ACCEPT # 送信はすべて許可 iptables -P FORWAR

    • シェルスクリプトでの文字列、ファイルの行数の数え方: wc -lとgrep -c ''

      B! 95 0 0 0 シェルスクリプトで行数を数える、と言った場合に、 勝手に付けられたりする最後の行の改行コード等が 振る舞いを変える事があるのできちんと把握しておこう、と言う話。 以下は特に明記して無ければMacでBash 4.3.32での作業。 Zshは5.0.5です。 ですが、特に明記してないところでの作業については Bash/Zsh、GNU/BSDの区別無く使える、としているものです。 wc -l grep -c ‘’ 外部コマンドを使わずに数える while 配列化 ()を使った普通の配列化 Bash: readarray Zsh: $f まとめ wc -l ファイル等の行数を数える、と言ったらまず思い浮かぶのがwc。 行数、単語数、文字数を数えてくれるコマンドで、-lで行だけを数えます。 $ printf "$value" | wc -l 5 $ wc -l file.tx

        シェルスクリプトでの文字列、ファイルの行数の数え方: wc -lとgrep -c ''
      • シェルスクリプトからsshでリモートコマンドを実行する際の注意点 - 矢野勉のはてな日記

        メモ, プログラミングシェルスクリプトからsshで複数のリモートホストにコマンドを投げつける処理を書いてて、いろいろ気がついたことを、あとで自分で調べられるようにメモしておく。 ループからsshでコマンドを投げつけるシェルスクリプトのwhileループ内から、複数のホストへ順番にコマンドを投げつける処理をかいていると、最初のホストにしかコマンドが飛ばない(ループしない)これは、シェルスクリプトのwhileループ自体が、標準入力の読み取りに依存しているのに、sshも標準入力を読み取るのが原因。たとえばこんなループの場合に起きる。 somecommand | while read LINE do ssh user@hostname 'sh yourcommand /dev/null 2>&1 &' done nオプションを付けることで、sshの標準入力が/dev/nullに変わりバックグラウンド

        • 今まで知らずに損してたauthorized_keysの書き方 - Qiita

          ほとんどの場合はこれで事足りるのですが、意外と知られていない(?)便利な書き方が有ることを知ったので共有します。 特定のIPからの接続のみ許可する と書くと、その鍵では1.2.3.4というIPアドレスを持つクライアントからしか接続できないように制限をかけることができます。 これを知るまではiptablesだけで接続元を弾いていたのですが、これを使えば鍵ごとに接続元を指定できるので、よりきめの細かなアクセス制限がかけられて幸せです。 以下の様に書けば、サブネット単位で許可したり複数のIPを指定することも可能です。

            今まで知らずに損してたauthorized_keysの書き方 - Qiita
          • Bashの変数パラメータ展開のまとめ - harry’s memorandum

            Bashのパラメータ展開はすぐに忘れてしまうのでメモ。 変数の文字数 ${#parameter}で変数の文字数を調べることができます。 name=/var/log/boot.log echo ${#name} 17 wcやawkコマンドを使う方法がありますがスマートではありません。*1 $ n=`echo $name | wc -c`; echo $(($n-1)) 17 $ echo $name | awk '{ print length($0)}' 17 配列も同じように配列数を調べることができます。 $ array=(a b c d e) $ echo ${array[0]} a $ echo ${#array[@]} 5 変数パラメータ展開 変数を切り出せます。ファイル名やディレクトリ名を簡単に切り出すことができます。 $ name=/var/log/boot.log $ echo

              Bashの変数パラメータ展開のまとめ - harry’s memorandum
            • 普通のpatchコマンドで取り込めるdiffファイルをgitで作成する - kanonji’s diary

              まとめ $ git diff --no-prefix HEAD~ > thisis.patch $ patch --dry-run -p0 < thisis.patch $ patch -p0 < thisis.patch git diffに--no-prefixをつける事で、普通のpatchで当てられるパッチファイルを出力できます。この例ではHEADの1個前*1からHEAD*2までのパッチです。 普通のpatchコマンドのほうの知識があまり無くて-p0がいまいちよく分からないんですが、git diff --no-prefixで作成したパッチファイルを当てるには必要みたいです。--dry-runは、実際には当てないけど当てた場合の結果を出力します。なので、まずは--dry-runで確認して、問題が無ければ実際にパッチを当てます。 エントリー書いた後に教えてもらった補足 patch -p1の

                普通のpatchコマンドで取り込めるdiffファイルをgitで作成する - kanonji’s diary
              • Shell Style Guide

                • OKLab - Bourneシェルスクリプト入門

                  最近ではコンピューター、ウェブ、モバイルでゲームを楽しめるようになりました。これらのゲームプログラミングについて学びましょう。 ゲームプログラミングの特徴 ゲームプログラミングは比較的新しいジャンルです。 ゲーム開発に使用される言語は、C#、C++、JavaScript、Swift、Rubyです。ゲームでは通常のアプリケーションと異なり複雑なビジュアルを操作するパフォーマンスと速度が要求されますので、プログラム言語もそれに特化している言語がおすすめです。 ゲームプログラミングは今後も人気の職種です。習得してステップアップを目指しましょう。 Oracle PLのプログラミング言語について学びましょう。 Oracle PLの特徴 SQL、T-SQLと同様にOracle PLもデータベースを処理するための言語です。違いとしてはOracle PLは世界最大のデータベースのひとつであるOracleデ

                  • Bash用ユニットテストフレームワーク作りました - Folioscope

                    Bash用テストフレームワークに、Batsやshunit2がありますが、イケてないなーと思ってたら、気づいたら自分で作ってました。 github.com テストの結果はモダンなテストフレームワークのように、カラフルに表示します。 またFAIL時は、FAILしたテストの結果を表示します。 自分の Arch Linux 上の Bash 4.3.42 および、Travis CI 上で動作することを確認しています。 インストール curl -o ~/bin/bashtub https://raw.githubusercontent.com/ueokande/bashtub/v0.1/bin/bashtub chmod +x ~/bin/bashtub です。ただし~/binはパスが通ってるとします。 これでターミナルから bashtub と打つことで実行できます。 bashtub テストを書く 各

                      Bash用ユニットテストフレームワーク作りました - Folioscope
                    • 簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう

                      編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 パターンとアクション AWKはパターンとアクションを組み合わせるプログラム言語です。日本語で「もし○○だったら、○○をする」という文章のうち、「もし○○だったら」という部分がパターンであり、「○○する」という部分がアクションです注1。このようにパターンとアクションで構成されるAWKの基本文法は直感的であるため、様々な機会で用いられます。これをAWKスクリプトで記述すると以下のようになります。 さて、「パターン」という名前から「正規表現にマッチする」ようなイメージを持たれるかもしれませんが、AWKのパターンは「条件式」そのものであり、その条件式の戻り値による「真偽」にしたがいアクションが実行されます。今回はこのパターンの真偽

                        簡単で、奥深くて、超便利! LLの元祖「AWK」にさわってみよう
                      • シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー

                        最初はこう書いていた。 lockfile build.lock ... rm -f build.lockだけど、lockfileは失敗した時にデフォルトでは無限にリトライをする。ちょっと出来心で$ for i in {1..100}; do ./foo.sh; done;したから100人の待ち行列が出来てしまった。 やりたかったことは「既に起動していたら続行しないで終了」だったので-r 0でリトライ回数を0にした。 lockfile -r 0 build.lock || exit 1 ... rm -f build.lock

                          シェルスクリプトを多重起動しないようにする - 西尾泰和のはてなダイアリー
                        • コマンドラインプログラムにおける引数、オプションなどの標準仕様 | プログラマーズ雑記帳

                          コマンドラインプログラムの引数、オプションといったインターフェースには ちゃんと仕様、ガイドラインといったものが存在しています。 Unix(Linux) では慣習としてなんとなく合うものなのですが、 Windows や Java のプログラムなどでは、インターフェースがめちゃくちゃなプログラムも結構あります。 今回はコマンドラインプログラムの標準的なインターフェースの仕様、動作を紹介します。 プログラムを作る際の参考にしてもらえればと思います。 標準インターフェースはよくあるケースを考慮されて作られているものです。 自分の作っているプログラムは標準的なケースと違うといったことがあるかもしれません。 しかし、 標準のスタイルは合わせること自体に意味があります。 作成する場合にはなるべく標準インターフェースにあわせて作るべきだと思います。 Windows or Unix スタイル コマンドライ

                          • 【インフォシーク】Infoseek : 楽天が運営するポータルサイト

                            日頃より楽天のサービスをご利用いただきましてありがとうございます。 サービスをご利用いただいておりますところ大変申し訳ございませんが、現在、緊急メンテナンスを行わせていただいております。 お客様には、緊急のメンテナンスにより、ご迷惑をおかけしており、誠に申し訳ございません。 メンテナンスが終了次第、サービスを復旧いたしますので、 今しばらくお待ちいただけますよう、お願い申し上げます。

                            • bashで素晴らしく生産性を上げるための10のテクニック | Yakst

                              よく使うコマンドの組み合わせを関数として.bashrcに書いておく事で、色々な操作が簡単になる。筆者の.bashrcとそこに書かれた実用的な関数のサンプル、使用例。 (訳者注) 原文タイトルが「Ten tips for wonderful bash productivity」なので、10のテクニックというタイトルにしていますが、実際には9つしかありません。原文筆者に指摘したところ本人も自覚されていなかった模様?です。悪しからず。 私はいつも自分のbashの環境をいじったり直したりしています。同じような問題に何度も遭遇しては、その度に解決策を探さねばなりません。うんざりして座り込んでしまうまでそれは続きます。お前いつも座って仕事してるだろって? ええ、でももう皆さんお分かりでしょう。そういう場合は、カスタム関数を作って、それを.bashrcに書き込んで、ログインする可能性のあるマシン全部に入

                                bashで素晴らしく生産性を上げるための10のテクニック | Yakst
                              • Bash One-Liners Explained, Part I: Working with files

                                I love being super fast in the shell so I decided to do a new article series called Bash One-Liners Explained. It's going to be similar to my other article series - Awk One-Liners Explained, Sed One-Liners Explained, and Perl One-Liners Explained. After I'm done with this bash series, I'll release an e-book by the same title, just as I did with awk, sed, and perl series. The e-book will be availab

                                  Bash One-Liners Explained, Part I: Working with files
                                • 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.

                                  • Big Sky :: なんでもシェルで書いちゃう男の人って...。

                                    « C++ の JSON ライブラリ json11 は initializer_list が綺麗。 | Main | 「便利」と「感極まってきました」だけでプログラムが書ける日本語プログラミング言語「うじひさ」を作った。 » ShellScript - jq、xmllintコマンドさようなら。俺はパイプが好きだから - Qiita UNIX哲学の一つとしてよく引用されるマイク・ガンカーズの教義に 1.小さいものは美しい。 2.1つのプログラムには1つのことをうまくやらせよ。 というのがあるが、まずこれができていない http://qiita.com/richmikan@github/items/e051b5d882c3dd2a39c6 昔の UNIX で扱っていたデータはだいたい行指向でした。そして UNIX は行指向データを扱う為の OS と言っても過言ではありませんでした。 しかし J

                                      Big Sky :: なんでもシェルで書いちゃう男の人って...。
                                    • 改行コードの変換

                                      Unixの上でsed, awk, Python, Perl などを使ってファイルを行ごとに扱うためには、各行は LF という文字コード(\n)で区切られていないといけない。しかし、他のシステムで作られたファイルは異なる改行コードを用いているため、一旦unix用の改行コードに変換する必要がある。 1.改行コードの調べ方 1.A nkfを使う nkfを入れてあれば、Terminalから次のように打つだけ。 $ nkf -g foo.txt 1.B Octal dump 例えば、foo.txtというファイルを調べたければ、Terminalを開いて次のようにする。 $ od -c foo.txt | less 表示される文字の中に混じっている\n や\r\nを見つけ、下の表と比べる。 システム改行コードod -c での見え方

                                      • Shell Script Library :: Wicked Cool Shell Scripts: Unix, Linux, Mac OS X, Bash, Bourne Shell, scripting -- by Dave Taylor

                                        Wicked Cool Shell Scripts: The Library There are 101 scripts discussed in this book, but in fact there are closer to 150 scripts available, in total. Here's how you can get them if you'd like. You are welcome to do this if you don't have the book, but it'll make a lot more sense if you do have "Wicked Cool Shell Scripts", of course. Note that you can also download the entire set of scripts as Al

                                        • 【Linux】サイズの大きいファイルはお前だ!消してやる! - Dance with Tech

                                          タイトルの通り、 ストレージ内で容量の大きいファイルを見つけて削除する、Linuxコマンドをまとめました。 環境はAWS(EC2)でCentOS7です。 CentOS7の構築については、 少し前に書いて何故かとても読まれた過去記事を参照してください。 ぶっちゃけ簡単だし、 ググればこの手の類はいくらでも出てくるのですが、 念のため備忘録としてまとめておきます。 メールのキューが溜まっている場合は以下で対応。 あんまり無いと思うけど。 これで今後忘れてもググらずに済むはず。 ログとかのファイル削除に関しては、 定期的に消すシェルなどの仕組みを作るのが1番良いですね。 Linuxコマンドライン入門 1日目 (ネット時代の、これから始めるプログラミング(NextPublishing)) 作者: 大津真 出版社/メーカー: インプレスR&D 発売日: 2014/09/05 メディア: Kindle

                                            【Linux】サイズの大きいファイルはお前だ!消してやる! - Dance with Tech
                                          • シェルスクリプト Tips | UNIX & Linux コマンド・シェルスクリプト リファレンス

                                            シェルスクリプト Tips コーディング・スタイル ここに書かれている内容は、あくまで筆者の好みでありほぼ完全に主観ではあるが、経験的に行き着いたスタイルでもあるので推奨します。 スクリプトのヘッダを作成する 最近はあまり使用されることもないのかもしれないが @(#) の記述と、スクリプトの使用方法、および概要をファイルの前方にコメントとして記述しておくようにする。 ※ @(#) は what コマンドで参照する情報を記述するための記号です。詳細は「whatコマンドについて」を参照。 #!/bin/bash # # @(#) hoge.sh ver.1.0.0 2008.04.24 # # Usage: # hoge.sh param1 param2 # param1 - パラメータ1です. # param2 - パラメータ2です. # # Description: # hoge.shスク

                                              シェルスクリプト Tips | UNIX & Linux コマンド・シェルスクリプト リファレンス
                                            • ターミナルに雨雲を表示する - cuspy diary

                                              東京アメッシュ便利ですよね。 1日の天気予報が知りたいのではなく、「今」降っているのか、とか5分後に雨が降るのかどうか知りたいって時は天気予報を見るよりもアメッシュで雨雲の動きを自分で予測するほうが確実です。 あとゲリラ豪雨がやってくる季節になると、天気予報が役にたたなくなります。 そんなときアメッシュを見ながら外に出るタイミングを見計らったりしていますが、わざわざブラウザを起動するのが面倒なのでつくりました。 ターミナル上に雨雲を表示するシェルスクリプトame.shです! (これが言いたかっただけです…) 動作環境はSixel対応のImageMagickとmlterm、bashかzshで動作するはずです。 コード: https://github.com/hamano/ame.sh 実行: % curl -s https://raw.githubusercontent.com/hamano

                                                ターミナルに雨雲を表示する - cuspy diary
                                              • ag(The Silver Searcher)で検索しpecoで更に絞り込みvimで該当行を開く - Qiita

                                                で検索し、pecoの画面で選択しenter agのほかに pt(The Platinum Searcher)やgit grepを使いたい場合はag $@の部分をpt $@やgit grep -n $@とすればOK 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

                                                  ag(The Silver Searcher)で検索しpecoで更に絞り込みvimで該当行を開く - Qiita
                                                • そういえばsshfsが便利な件 - (ひ)メモ

                                                  以前はリモートのファイル編集するのにEmacsでTRAMP使ってたんですが、sshfsの方がシェルでcdとかlsできるし、Emacsでoccurとかもできるしいいよねってんで最近はsshfs使ってます。 で、sshfsしたいホストが多いといろいろめんどくなるんで、↓みたいなヘルパスクリプト書いて使ってましたよって話です。 マウントポイントをまとめておくディレクトリ(~/r/とか)の下に、予めsshfsするリモートホストの名前のディレクトリを作っておきます。sshするときユーザー名が必要なホストはUSERNAME@HOSTNAMEでmkdirしときます。 $ cd ~/r/ $ mkdir host1 $ mkdir foo@host2 あとは末尾のヘルパスクリプトで、sshfsでマウントしたり、sshfsなマウントポイントの一覧を見たり、アンマウントしたりできます。 $ ./m host1

                                                    そういえばsshfsが便利な件 - (ひ)メモ
                                                  • ゲームで極める シェルスクリプトスーパーテクニック - UNIX的なアレ

                                                    シェルスクリプトの基本的な本なら割と世間に出回っているのですが、「極める」系の本があまり存在していないのが現状です。 実際、そこまでシェルスクリプトを使い倒すならPerlを使うよって言う方が多いからなのかもしれませんが、ここまでできるんだって思わせてくれる良書をみつけたので紹介します。 ゲームで極める シェルスクリプトスーパーテクニック 作者:山森 丈範技術評論社Amazon Contents 目次は以下のとおり。 Chapter1 シェルスクリプトの基本 Chapter2 シェルスクリプト環境のカスタマイズ Chapter3 シェルスクリプトによる画面制御の基礎 Chapter4 シェルスクリプトでのリアルタイム入力 Chapter5 シェルスクリプトでの乱数発生方法 Chapter6 シェルスクリプトによるリアルタイム進行 Chapter7 シェルスクリプトでの配列の使い方 Chapt

                                                      ゲームで極める シェルスクリプトスーパーテクニック - UNIX的なアレ
                                                    • Chef-Soloを100倍楽しく使うためのrsoloというツールを作りました。 · DQNEO日記

                                                      "rsolo"というツールを作りました。一言でいうと "knife-soloのシェルスクリプト版"です。 https://github.com/DQNEO/rsolo bashで書いた1枚スクリプトなのでインストールが超簡単です。 rubyなしで動きます。 なので、 「 knife-soloをインストールするためのGemfileを書くためのbundlerをインストールするためのgemをインストールするためのrubyをインストールするためのrbenvをインストーするための、えーと人生ってなんだっけ」 という苦行からあなたを開放してくれます。 Let's not do yakshaving !! インストールが超簡単! ダウンロードして実行権限をつけてパスを通すだけ! $ curl -sO https://raw.githubusercontent.com/DQNEO/rsolo/master

                                                        Chef-Soloを100倍楽しく使うためのrsoloというツールを作りました。 · DQNEO日記
                                                      • Windows PowerShell徹底解説

                                                        UNIXシステム管理者にとって,Windowsスクリプティングは長い間笑いの種だった。これにはいくつかの理由があったが,代表的なのは,Windowsにはスクリプティングを本当の意味で役立つものにするための主要機能の多くが欠けていたことだ。しかしWindowsの新しいスクリプト環境「Windows PowerShell」によって,米Microsoftは他OSのスクリプティング機能に追いついただけでなく,追い抜こうとしている。 かつて「Monad」という開発コード名で呼ばれていた「PowerShell」は,これまでのWindowsにはなかったスクリプティング機能を提供するとともに,既存機能も大幅に改善している。PowerShellはまだリリース候補版だが,PowerShellがどのように性能の格差を埋めているのか,PowerShellがどのような仕組みになっているのか,知っておいて損はないだろ

                                                          Windows PowerShell徹底解説
                                                        • 会津大学UNIXウィキ

                                                          このサイトについて このページは会津大学生による会津大学生のためのUNIXのページです。 そのため、会津大学の環境に幾分偏っていますが、一般の方でも参考にできる内容になっていると思います。コマンド の他にも UNIX を使う上での基礎知識、設定ファイルの編集方法、また便利な技などを紹介しています。 UNIX管理者よりもUNIXユーザーよりの記述になっています。 背景 管理者が会津大学を卒業したためWikiに移植して学内生が勝手にいじれるようにしたものです。 編集してくれる方は編集のすすめをまずご覧になってください。 このとおりに編集していただけると助かります。 閲覧テクニック ブラウザのアドレス欄に http://technique.sonots.com/?コマンド名 のように打ち込むと(そのコマンドのページがあれば)目的のページに飛ぶことができます。 検索したりメニューから辿らずにすむの

                                                          • ReJax - Easiest Regular Expression Tester. Ever.

                                                            Have a pattern you want to test? Give it a shot. ReJax does one thing and one thing well: pattern testing. Updated June 27th, 2007 ReJax has been down for a while, but is back up now. Sorry for the trouble :) Supported languages: JavaScript PHP 5 PCRE PHP 5 POSIX Ruby - BETA!! PERL 5 UNIX Shell Pattern It is not necessary to enter the beginning and ending slashes in the pattern field. Not all modi

                                                            • 【危険シェル芸】☠️禁じられた闇の魔術とその防衛術💥 - Qiita

                                                              はじめに Shellには決して使ってはいけない禁呪文と呼ばれるものが存在する。もし社用サーバに対しこれを故意に使えばアズカバン送りは免れ得ないであろう恐ろしい闇の魔術である。(果たしてそれだけで済むのか・・・?) しかし、無知故に、意図せずこのような闇の魔術を発動させてしまうことはインフラエンジニアにとっては、ごく稀にある出来事と言える。無知ゆえに事故を起こさないためにも、🔰初心者🔰にこそ読んでほしい。 今回は、闇の魔術の発動原理と、そのような闇の魔術に対する防衛術を伝授したい。 ‼️注意‼️ ここにある記事の闇の魔術を実行したことによる責任は”一切”取れませんのでご注意ください。 また、禁忌呪文は魔法省から使用が禁じられているので、具体的な抜け方などが未検証なコマンドもいくつか存在します。(は?)詳しい情報をお持ちの偉大なる魔法使いの方は情報提供の方をぜひお願いいたします。 参考サイ

                                                                【危険シェル芸】☠️禁じられた闇の魔術とその防衛術💥 - Qiita
                                                              • シェルスクリプト 引数の処理方法

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

                                                                • blog.paz-para.com – このドメインはお名前.comで取得されています。

                                                                  このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日本のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

                                                                  • シェルスクリプトを書くときに気をつけていること(その1) - mikedaの日記

                                                                    初級者向けに『自分がシェルスクリプト書くときに気をつけていること』をまとめてみました。 @masudaKの『シェルスクリプトを書く際に気を付けていること8箇条』の乗っかりエントリです。 内容は重複しないように書いてますので合わせて読んでください! 基本的にLinuxの/bin/sh、/bin/bashを想定しています。 テキスト処理は標準入力から受け取って標準出力に出す テキストを扱う小さなツールを作りましょう。 引数はオプション情報を渡すのに使います。 そうすればgrep、sort、uniqなどの便利なコマンドとパイプで連携できます。 grep ERROR /tmp/test.log | my_cmd1.sh 192.168.1.1 | sort 全てを実行する1つのスクリプトを作るのはたいへんだし、応用が効かないです。 人間に伝えたいメッセージは標準エラー出力に出す パイプでつないだ時

                                                                      シェルスクリプトを書くときに気をつけていること(その1) - mikedaの日記
                                                                    • [Bash]標準出力・標準エラー出力の全て(1>&2とか)まとめ | Coffee Breakにプログラミング備忘録

                                                                      標準出力と標準エラー出力についてメモ 毎回調べ直すことになっているので、メモメモ。さらに調べるのにまとまったサイトがなくて1つ1つ調べるはめになるので。まとめ シェルによって違いがあるため今回はbashに限る 前提知識 【知識0】 unixコマンドは左から右に処理される。これは絶対 【知識1】 (標準入力 : 0) 標準出力 : 1 ※画面に出力される 標準エラー出力 : 2 ※画面に出力される 【知識2】 0,1,2はファイルディスクリプタと呼ぶ 【知識3】 「>」リダイレクト シェルの結果を出力する場所を指定可能 command ファイル・ディスクリプタ> 出力先 ※commandは何らかのコマンドかshファイルとしている 【知識4】 出力先などを特定のファイルディスクリプタに送りたい場合は「&ファイル・ディスクリプタ」とする echo "standard output" >&2 【知

                                                                      • パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita

                                                                        はじめに コマンドをパイプでつなげた時、各コマンドの間にはいくつかのバッファが存在します。そのバッファについてちゃんと意識しているでしょうか? バッファの存在によって各コマンドの実行には分かりづらい変化があります。そのバッファを知らないと罠にハマってしまう・・・かもしれません。 プロセス間のパイプ通信のバッファ まずプロセス間のパイプ通信に存在しているバッファです。多くのコマンドは行単位でデータを処理しますが、一般的にパイプでつなげた各コマンドはそれぞれ処理速度が異なります。処理がすぐに終わるコマンドもあれば時間がかかるコマンドもあります。各コマンドは並列で動作可能ですが必ずしも並列で動作するわけではありません。 一般論としてパイプライン全体の処理にかかる実時間はパイプでつながったコマンドの中で一番遅いコマンドに足を引っ張られます。いくら並列で動作可能と言ってもデータが到着しなければ処理す

                                                                          パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita
                                                                        • シェルスクリプトの set -e は罠いっぱい

                                                                          ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu Perl では最初に use strict; use warnings すべきなように、シェルでは set -u すべき。「例外処理って何? おいしいの?」って人は set -e もしておけ。 2012-06-25 18:25:20 ふみやす@シェルまおう(自称でない) FGO:838,149,789 @satoh_fumiyasu シェルスクリプトをまともに書けない奴は、それでも書かなければならないときは、とりあえず変数展開するとき必ずダブルクォートで括れよ。$foo じゃなくて "$foo” な。あと最初に set -u; set -e でもしておきな。シェルスクリプトが駄目なんじゃなくて、書けないだけ。 2012-12-22 00:27:38

                                                                            シェルスクリプトの set -e は罠いっぱい
                                                                          • シェルのコマンド履歴から再利用、のいろいろ - 元RX-7乗りの適当な日々

                                                                            覚えていると、たまに便利かもしれない"bash"のコマンド履歴の展開に関する技を、例を交えながらまとめてみました。 最後にも書きましたが、他にもたくさんありますので、色々試してみてください。 直前に実行したコマンドを実行 "!!"コマンドで、1つ前に実行したコマンドを再度実行できます。 $ ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7 0 2009-02-26 02:20 test $ !! ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7 0 2009-02-26 02:20 test n個前に実行したコマンドを実行 "!-n"コマンドで、n個前に実行したコマンドを再度実行できます。 例えば、以下の例では、"!-2"とすると、2個前に実行したコマンドを実行しています。 $ ls test $ ls -l 合計 0 -rw-rw-r-- 1 rx7 rx7

                                                                              シェルのコマンド履歴から再利用、のいろいろ - 元RX-7乗りの適当な日々
                                                                            • シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                              シェルスクリプトのデバッグ シェルスクリプトをデバッグするには プログラムにバグはつきものであり、それはシェルスクリプトも例外ではない。bash にはシェルスクリプトのデバッグに非常に有効なオプションが用意されているので、「Syntax Error」で実行できない場合や、変数にどんな値が設定されているのか確認したい場合は、それらオプションを指定した上で実行することで、簡単にデバッグを行うことができる。 「-x」オプションを使用する -x オプションは、シェルスクリプト内で実際に実行されたコマンドを表示するオプションである。変数が使用されている場合は、その変数の値が展開された状態で表示される。 → bash に -x オプションを指定し、引数にデバッグするシェルスクリプトを指定する。 -x オプションでシェルスクリプトを実行すると、echo コマンドなどの出力に加えて、スクリプト内で実際に実

                                                                                シェルスクリプトのデバッグ | UNIX & Linux コマンド・シェルスクリプト リファレンス
                                                                              • Why Zsh is Cooler than Your Shell

                                                                                Đề tài: Tìm hiểu thuật toán quy hoạch động cho tính khoảng cáchDịch Vụ Viết Bài Trọn Gói ZALO 0936 885 877

                                                                                  Why Zsh is Cooler than Your Shell
                                                                                • Vagrant + シェルスクリプトで簡単プロビジョニング

                                                                                  Vagrantでプロビジョニングというと、Chef SoloとかChefとかPuppetを使うという印象がありますが(Vagrant initしてできるVagrantfileにもそれらだけが入っている)、シェルスクリプトでも簡単にプロビジョニングできます。 マニュアルに書いてあるわりに意外と知らない人が多くてびっくりしたので、簡単に紹介しておきます。 インラインでシェルを使う方法これはVagrantfileの中に直接コマンドを書いておく方法です。コマンドの数が少ない場合はこれで十分です。 # 以下にコマンドを書く script = < <SCRIPT yum install -y httpd php php-mbstring php-pdo php-mysql mysql-server /sbin/chkconfig --level 2345 mysqld on /sbin/chkconf

                                                                                    Vagrant + シェルスクリプトで簡単プロビジョニング