並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 1576件

新着順 人気順

ShellScriptの検索結果201 - 240 件 / 1576件

  • Linuxのtracerouteコマンドで覚えておきたい使い方8個 | 俺的備忘録 〜なんかいろいろ〜

    特定のホストへのルートを確認するコマンドといえば、tracerouteコマンドだ。 今回は、そんなtracerouteコマンドで覚えておきたい使い方についてまとめてみる事にした。 1.基本的な使い方 tracerouteコマンドは、基本的には以下のように実行し、そのホストに至るまでの経路(どこのルーターを通っているか等)を確認出来る。 デフォルトでは、UDPプロトコルを利用して通信確認を行う。 traceroute 対象ホスト(ホスト名・IPアドレス) tracerouteコマンドでは、対象のホストに向けてTTLを1づつ足して通信確認を行っている。 そのため、通信の途中で傷害が発生していたとしても、どこの経路で発生しているのかがわかるようになっている。 動作のより詳しい解説については、こちらのサイトが記述してくれている。 2.使用するプロトコル・ポートを変更する デフォルトではUDPプロト

    • 今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita

      シェルスクリプト書くときになかなか覚えていなくて、かつググラビリティが低い情報をまとめてみました。 6/19 コメントを元に一部修正しました hnakamurさんありがとうございます! 参考になる文献 test bash manual zsh manual 特殊な変数 変数 説明

        今更ながら抑えておきたいシェルスクリプト用チートシート - Qiita
      • GitHub - onceupon/Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.

        I am glad that you are here! I was working on bioinformatics a few years ago and was amazed by those single-word bash commands which are much faster than my dull scripts, time saved through learning command-line shortcuts and scripting. Recent years I am working on cloud computing and I keep recording those useful commands here. Not all of them is oneliner, but i put effort on making them brief an

          GitHub - onceupon/Bash-Oneliner: A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.
        • 本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ

          本番環境にperlとかrubyとかnodeを入れるんだけど、もちろん system perl じゃやってられないので指定したバージョンのものを一般ユーザの管理下に突っ込みたい。 で、そういうのをこれまで perlbrew とか rvm とか rbenv とか nvm とか nodebrew とかでやってたんだけど、さすがに色々疑問が湧いてきた。バッチで単発実行するために eval "$(rbenv init -)" とかさすがにおかしくね? みたいな。 ということで tokuhirom method 的にインストール用の簡単コマンドを使って実行、あとはパスを通せばいいじゃん、ということにしようかと思う。 参考: サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - blog.64p.org これ、今朝までは Perl::Build をどうにかしてC

            本番環境でのperl/ruby/nodeのセットアップ - たごもりすメモ
          • installコマンドでコマンド数を減らす - @znz blog

            mkdir とか touch とか chown とか chmod とか個別に実行しなくても install コマンドだけでまとめて出来るという話です。 問題例 Dockerfile の RUN などが典型的な例ですが、他でも例えば mkdir -p /home/foo/.ssh; chown foo /home/foo/.ssh; chmod 0700 /home/foo/.ssh のようなことをすることがあると思います。 特に Dockerfile の場合は RUN ごとにイメージがたまっていくこともあって、 ; や && でつなげて単独の RUN にまとめて書くことも多いと思います。 install でディレクトリを作る たとえば mkdir -p /home/foo/.ssh chown foo /home/foo/.ssh chgrp users /home/foo/.ssh ch

            • 漢のzsh | コラム | エンタープライズ | マイコミジャーナル

              新着記事一覧 田中麗奈、初舞台で「嫁姑仲は順調です」 - 舞台『思い出トランプ』 [11:00 10/11]  【レポート】ソーシャルレンディングサービスの気になるメリット・デメリット-- maneoの妹尾賢俊社長に聞く [09:00 10/11]  【レポート】秋葉原アイテム巡り - 「マクロス」シリーズが秋葉原をジャック! 歌は世界(秋葉原)を救う!? [04:36 10/11]  「ロックマン9 アレンジサウンドトラック」のインストアイベントが開催決定 [03:25 10/11]  DS『流星のロックマン3』、PR貴族に"髭男爵"が就任! 楽曲タイアップも決定 [03:03 10/11]  ゼンリン、600カ所の紅葉スポットの情報を提供 - 色づき具合を15段階で表示 [02:46 10/11]  TVアニメ『ドルアーガの塔〜the Sword of URUK〜』、2009年1月放送

              • 私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 : 404 Blog Not Found

                2013年04月13日01:30 カテゴリTipsiTech 私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 bashクックブック ぎゃああぁぁぁ 僕がMacのホームディレクトリを削除するに至った経緯と、復元するまでの道のり | CreativeStyle 具体的に何をしたのか。それは、以下のコマンドの実行です。 $ rm -rf ~/ でもこれ、すごいやりがち。 やりがちなのになんでそれよりおっちょこちょいなはずな私がもう30年近くものあいだ難を逃れているかを披露しておくことにする。 以下、それぞれtcsh版とbash版を。zsh版はどなたかよろしく。 alias 上記の例は、実はこれだけで防ぐことが出来ていた。 tcsh alias rm 'rm -i' bash alias rm='rm -i' 要するに、rmと打ったらrm -iを意味するようにしておくわけだ

                  私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 : 404 Blog Not Found
                • UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確

                  Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 米ペンシルベニア大学、米MIT、ポーランドのXIV Staszic High School、米国の研究機関Aarno Labs、米Stevens Institute of Technologyによる研究チームが開発した「Practically Correct, Just-in-Time Shell Script Parallelization」は、UNIXシェルで実行されるプログラムの速度を精度を保証しながら劇的に加速させるシステムだ。 このシステムはUNIXシェルにおいて、スクリプトを先読みして並列化を行う。これによりプログラム結果を正確な上で最大34倍高速化し、Webインデックスや自然

                    UNIXシェルの並列化により最大34倍高速化する「PaSh」、米MITなどが開発 プログラム結果も正確
                  • ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering

                    ちょっと複雑なシェルスクリプトを https://github.com/google/zx を使って書くとJavaScriptプログラマにとってはメンテナンスしやすい /lacolaco/lacolaco.iconはzx歴 3-4ヶ月ってところ (2021-08) 嬉しいところ async/awaitが使える 配列が扱いやすい モジュールで再利用しやすい 他のNode.jsライブラリと併用できる Prettierでフォーマットしやすい Lintしやすい エディタ支援が安心 Made by Google 微妙なところ JavaScriptプログラマ以外にとっては無用 とはいえシェルスクリプトによほど慣れてる人以外はよく整理されたJavaScriptのほうがセマンティクスを読み取りやすいのではないか スクリプト自体はこんな感じ(公式READMEより) code:js #!/usr/bin/en

                      ちょっと複雑なシェルスクリプトをJavaScriptで書く - lacolaco-engineering
                    • Swiftをシェルスクリプトのように使う一番簡単な方法 - Qiita

                      #!/usr/bin/swift import Foundation typealias Failure = (NSError!) -> Void typealias ResultBlock = (NSData!, NSError!) -> Void /// JSONObjectWithDataの戻り値として使用する enum JSONObjectWithDataResult { case Success(AnyObject) case Failure(NSError) } /// NSDataをJSONオブジェクトに変換し、JSONオブジェクトまたはエラーのいずれかを返す func JSONObjectWithData(data: NSData) -> JSONObjectWithDataResult { do { let json = try NSJSONSerialization.J

                        Swiftをシェルスクリプトのように使う一番簡単な方法 - Qiita
                      • ssig33.com - Docker をプロダクトのデプロイに使う

                        コミケの列に並んでたあたりのころから Docker 本格的に使ってます。このサイトもさっき Docker でデプロイするような感じにしました。 Docker の利点と欠点で 開発環境の配布が容易にできる プロダクトのデプロイにつかうにはなにかとキツい みたいな意見をわりと頻繁にみかけるのですが、逆じゃねえかと思ってます。これ開発環境の配布に使うの無理でしょ。各コンテナ使い捨て前提なんだし。 Docker をデプロイに使う際の問題点としては以下があります Dockerfile に 42 個しか命令かけないみたいなやつ なんだかんだでコンテナのビルドに時間がかかる コンテナの管理とかどうするのか リバースプロキシの設定とかどうするのか 一個目に関しては頑張ってください。僕はセットアップ用やデプロイ用のシェルスクリプトを ADD して RUN させるようにしてます。シェルスクリプトセットアップ

                        • rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ

                          rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ

                            rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ
                          • bashによるシェルスクリプトの小技(2) - shibainu55日記

                            前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはできない)。 さて、まずは特殊変数を一覧でまとめてみる。お馴染みのものが多いが、最後の2つ(特に最後のPIPESTATUS)についてはきっと今まで知らなかった人もいるんじゃないだろうか。シェルの中でパイプすると途中のコマンドのリターンコード、拾えないとか思っていませんか?今回のポイントとしては、「1. PIPESTATUS変数について」と「2. 特殊変数 $@と$*の違いについて」の2点を主に説明する。 特殊変数一覧表 変数名 自動的に設定される値 $? 直前に実行されたコマンドの終了ステータスが設定される変数。正常終了の場合は「0」、異常終了の場

                              bashによるシェルスクリプトの小技(2) - shibainu55日記
                            • 複数ホストに ssh しながら tail -F するときにはこうしたらどう? - tokuhirom's blog

                              いろいろ方法があるとおもうのですが、以下のようなシェルスクリプトですませるのはどうでしょうか? #!/bin/bash function kill_children { # jobs -l | perl -ne 'print "kill $1\n" if /^\S+?\s+(\d+)/' | sh; pkill -P $$; wait; } trap "kill_children" EXIT HOSTS="192.168.1.1 192.168.1.2" for host in $HOSTS do ssh $host tail -F /service/foo/log/main/current & done wait ちょっと箇条書きで解説すると以下のようなことをおこなっています。 & でバックグラウンドジョブをはしらせるwait でそれらの終了を待つtrap 〜 EXIT は atexit

                              • 業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア

                                業務で使うツール(iTerm2,SequelPro,Chrome)を ShellScriptでハイパーテクニックする はじめに この記事は今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019の20日目の記事です。 今年は「お勧めテクニック」ということで、業務効率化ッ!!を盾に業務時間の30%はShellScript遊びに当てている私にピッタリな企画ですね、ありがとうございます。 今回は業務でよく使うツールを、ShellScriptでハイパーテクニックする方法をいくつかご紹介。 今回紹介するコードは全部Githubにあげているので実際に試したい人はどうぞ。 ハイパーテクニックする対象 GoogleChrome iTerm2 SequelPro GoogleChrome ブラウザに移動せずTerminalで自在にタブ移動する Web開発を

                                  業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア
                                • lsofの使い方 - プロセスが使用中のファイルを調べる - うまいぼうぶろぐ

                                  odz buffer - プロセスが開いているファイルを確認する ls -l /proc/`pgrep -n java`/fd lsofでも調べられます。 lsof - list open files lsof うにょうにょと結果が出てきます。が、多すぎて訳わからん。 -pオプションでプロセスID指定 ### プロセスID指定 lsof -p 12345 ### バッククォート使うとこんな感じ lsof -p `pgrep -n java` -cオプションでプロセス名指定 lsof -c java -uオプションでユーザ指定 lsof -u hoge -iオプション [@IPアドレス:ポート番号] listenしてるポートを出力。指定したポートのみ表示することもできる。 lsof -i # Listenしてるのずらずら表示 lsof -i :22 # ssh lsof -i :22,80

                                    lsofの使い方 - プロセスが使用中のファイルを調べる - うまいぼうぶろぐ
                                  • 窓の杜 - 【NEWS】MS、システム管理者向けの新コマンドシェル「Windows PowerShell」v1.0を公開

                                    Microsoft Corporationは14日(現地時間)、「コマンドプロンプト」に代わるシステム管理者向けの新しいコマンドラインシェル環境「Windows PowerShell」v1.0を公開した。Windows XP/2003/XP x64/Server 2003 x64/Server 2003 IA64に対応するフリーソフトで、現在同社のダウンロードセンターから日本語版をダウンロードできる。動作には.NET Framework 2.0が必要。 「Windows PowerShell」は、“Monad”のコードネームで開発が進められていたコマンドラインシェル環境。ファイルへのアクセスと同様の操作でレジストリなどのシステムデータを扱えるほか、.NET Frameworkのオブジェクトをコマンドライン上から操作できるなど、システム管理者やプログラム開発者向けの機能が充実しているのが特長

                                    • Shell Script Best Practices — The Sharat's

                                      This article is about a few quick thumb rules I use when writing shell scripts that I’ve come to appreciate over the years. Very opinionated. Things¶ Use bash. Using zsh or fish or any other, will make it hard for others to understand / collaborate. Among all shells, bash strikes a good balance between portability and DX. Just make the first line be #!/usr/bin/env bash, even if you don’t give exec

                                      • Linuxコマンドのソースコードを取得する方法:オリジナルコマンド作成前の勉強向け - Qiita

                                        追記 以下の情報では、不足があったため、自サイト(debimate.jp)に加筆版をUPしています。 前置き CQ出版社のInterface誌(2016年10月号)に、「レベルアップ! オリジナル・コマンドを 作る」という記事がありました。 この記事中では、C言語(高速な言語)による自作コマンドの作成について、少しだけ触れられていました。 残念な事に、C言語による具体的な作成方法が記載されていませんでした。 この理由には、「紙面の文字数制限」、「bashの特集記事であった事」が考えられます。 C言語で自作コマンドを作成する上で、以下の2点が必要な情報ではないかと考え、 私は、ついカッとなって、本記事を作りました(ついでに、Interface誌にもアンケートを出しました)。 ・自作コマンド作成時の参考(既存コマンドのソースコード)の取得方法 ・自作コマンド(実行形式ファイル)の格納先 ちなみ

                                          Linuxコマンドのソースコードを取得する方法:オリジナルコマンド作成前の勉強向け - Qiita
                                        • テストの数を減らそう!プリキュアで学ぶPICT - Qiita

                                          ソフトウェアのテストはたいへんだなあ ソフトウェアのテスト、きちんとしてますか?最近は、スマートフォンやタブレットの普及に伴って、ユーザが使うデバイスの種類が多様化しています。 使われるOSやブラウザ、画面サイズの種類が増える中、プリキュア1の多様化も著しいですね。「プリキュアで学ぶワンライナーWebスクレイピング」で検証した通り、昨年までは43人、今年は「魔法つかいプリキュア」が加わることで、プリキュアの数は総勢45人になりました2。プリキュアはキャラクターによって専用デバイスを持ったり3、感情が昂ぶると常識を覆す事象を起こしたりするので、ITサービスを提供するエンジニアの方々は、ユーザ満足度向上のため、当然プリキュアがユーザになった場合も考慮した動作テストをされていると思います。 とはいえ、プラットフォームとプリキュアの組み合わせの数は、既にかなりの数です。全てのパターンを試すととても

                                            テストの数を減らそう!プリキュアで学ぶPICT - Qiita
                                          • シェルスクリプトを書くときはset -euしておく - Qiita

                                            エラーがあったらシェルスクリプトをそこで打ち止めにしてくれる(exit 0以外が返るものがあったら止まるようになる)。「あっあれここでうまくいってないからデータ準備できてないのにあれあれっもうやめて!」ってなるのを防げる。 set -u 未定義の変数を使おうとしたときに打ち止めにしてくれる。Perlでいうuse strict 'vars';的なもの。 って気軽な気持ちで書いてしまって、「ん、やたら時間かかると思ったらスペルミスうわなにをするやめ」ってなるのを防げる。 一部だけ例外にしたい はてなブックマークのコメントより -e は command1 || command2 みたいなことが出来なくなるの使うことないな。-uは付けといて良いが。 確かにおっしゃるとおりですね。コマンドの失敗を考慮して書いている部分については(もしくはやたらexit 0以外するコマンドを呼ばないといけないときなど

                                              シェルスクリプトを書くときはset -euしておく - Qiita
                                            • Charming Python: Functional programming in Python, Part 3

                                              IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

                                                Charming Python: Functional programming in Python, Part 3
                                              • xargsコマンドを使って指定したコマンドを並列実行させる - 技術メモ帳

                                                あまり知られていないが、GNUのxargsコマンドには、 プロセスの最大数を設定できるオプションというのが用意されている。 コレを使って、プロセスを並列実行させてみよう。 xargs --max-procs=MAX-PROCS -P MAX-PROCS command MAX-PROCSに数字を指定すると、 最大で、その数だけ command プロセスを生成する。 デフォルトは、1プロセスだけになっている。 いくつか例を交えて説明する。 サンプルとして、以下のようにURLが行ごとに記述されたファイルを元に curlをxargsで並列実行して、HTMLデータを取得してみよう。 $ cat ./url_list.txt http://www.google.co.jp/ http://www.yahoo.co.jp/ http://b.hatena.ne.jp/ まず、普通にxargsを使ってc

                                                • 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.

                                                  • よく使う 9 つの便利なシェル芸 - Qiita

                                                    Help us understand the problem. What are the problem?

                                                      よく使う 9 つの便利なシェル芸 - Qiita
                                                    • findコマンドの使い方: UNIX/Linuxの部屋

                                                      最終更新 2019-01-22 UNIX/Linux の find コマンドは、ファイル名・タイムスタンプ・ファイルサイズ・オーナー・グループ・ファイルタイプなどを元に、ファイルやディレクトリを検索するコマンドである。AND・OR の組み合わせや正規表現が使えたり、検索だけではなくコマンドの実行も可能など、非常に強力なコマンドである。

                                                        findコマンドの使い方: UNIX/Linuxの部屋
                                                      • Windowsプログラマに贈るLinuxプログラミング入門---目次

                                                        Windowsプログラマを主な対象に,Linux上でプログラミングを行う方法を一から説明します。普段慣れ親しんでいるWindowsからLinuxに移ると,何から何までわからないことばかりかもしれません。「オープンソース・ソフトウエアとは何か」から「Windows上でLinuxを簡単に使う方法」「Linux上での,初めてHello world」を経て,Linux上でテキスト・エディタを使ってプログラムを書き,動かすまでをやさしく解説します。 また,Windows技術者のための組み込みLinux入門 も合わせてお読みください。 第1回 オープンソースの基礎を学ぶ 第2回 Linuxを一から知る 第3回 VMware PlayerとUbuntu仮想マシンの導入 第4回 Linuxコマンド入門(その1:必要最低限の操作) 第5回 Linuxコマンド入門(その2:パス,ユーザー権限,パーミッションを

                                                          Windowsプログラマに贈るLinuxプログラミング入門---目次
                                                        • curlのオプション勉強したのでまとめ - うまいぼうぶろぐ

                                                          curlはwget, lwp-request(GET, HEAD), lynxと同じようなcliのhttp client。だと思ってたらもっと機能があるようなので、man curl読んで色々調べてみた。HTTP(S)以外にもかなり対応してた。 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). とりあえず良く使いそうなhttp, ftp関連のメモ。DLだけじゃなくて、アップロードもできるのが素晴らしい。 基本 syntax curl [optinons] URL URL It will then default to HTT

                                                            curlのオプション勉強したのでまとめ - うまいぼうぶろぐ
                                                          • シェルプログラミングTips - UEC - usp engineers' community

                                                            UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト Info インフォメーション イベント情報 / ニュース・プレスリリース ユニケージについて ユニケージ開発手法とは / ユニケージエンジニアとは ユニケージ開発手法 技能検定 / 試験日程 ユニケージ開発手法 教育講座 / 開講日程 ユニケージ開発手法 教育講座レポート 出版物 シェルスクリプトマガジン / 注文 / 取扱書店 / 問合せ USP出版書籍 / 注文 / 取扱書店 / 問合せ Software Design / FreeBSD Expert FreeBSD Weekly Topics / 日経Linux 推薦図書 オススメの定番書 / より上級者を目指す UNIXビギナー向け教本 / UNIXの文化を知る AWK/SEDを習得する / 手元に置きたい実用書 古典を楽しむ UECサイトについて

                                                            • bashスクリプトをデバッグする方法 - Qiita

                                                              #!/bin/bash exec 5> debug_output.txt BASH_XTRACEFD="5" PS4='$LINENO: ' set -x するとdebug_output.txtにログが出力される。 exec 5>はファイルディスクリプタ5番をdebug_output.txtにするという意味。 PS4はトレース出力の際に表示されるプロンプト。$LINENOにより行番号を表示している。 set -xは実行するコマンドをトレース出力させる。 元記事にはbashdb、log4bash、Eclipse、Visual Studioo Codeを使う方法なども紹介されているが、これが一番手軽でほとんどの場合十分だと思う。 Register as a new user and use Qiita more conveniently You get articles that match

                                                                bashスクリプトをデバッグする方法 - Qiita
                                                              • シェルで変数のインクリメントに expr を使うと100倍遅い件

                                                                シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

                                                                  シェルで変数のインクリメントに expr を使うと100倍遅い件
                                                                • 「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog

                                                                  概要 「マスタリング Linux シェルスクリプト第 2 版」を読みました。 感想を書きます。 マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 概要 前提 目的 前提知識 読了時間 感想 次に関連で勉強すること まとめ 前提 目的 CI/CD の実力を上げるための手段としてシェルスクリプトの知識を獲得したかった 出版された当初にネットで評判が良く(こちらの記事を参考にした)、おもしろそうに見えた 特に、sed、awk あたりを入門したかった 前提知識 調べることはあっても、シェルスクリプトを体系的に学ぶのは初めてでした。 一応、1 月に「シェル・ワンライナー 160 本ノック」を読んでいました。しかし、想定よりも難易度が高

                                                                    「マスタリング Linux シェルスクリプト第 2 版」感想 - msksgm’s blog
                                                                  • perl - the best friend of find(1) : 404 Blog Not Found

                                                                    2008年02月24日22:45 カテゴリLightweight Languages perl - the best friend of find(1) find(1)ネタというのも、定期的にネットを賑やかにする時候ネタになりつつあるようです。 いまさらxargsの便利さを主張してみる findでファイル検索入門 - builder by ZDNet Japan というわけで、いまさらfindとperlの相性のよさを再確認してみることにしてみます。 基本形 まずは、これを覚えておきましょう。 find [options and args of find] -print0 | perl -l0ne 'perl program' findが見つけたファイルを一つ見つけると、perlの$_にそのファイル名が入るのでそれに対して何らかの処理を行います。 perl側の-l0neというのは、以下と同等

                                                                      perl - the best friend of find(1) : 404 Blog Not Found
                                                                    • bashの組込みコマンド自作によるスクリプトの高速化 - Qiita

                                                                      はじめに bashには次の2つの理由によって、組み込みコマンド(builtin command)というものが存在します。 スクリプトの高速化のため。組み込みコマンドであれば通常のコマンドを実行する場合に比べてプロセスの生成コスト(fork()/exec())が削減できる bash自身の状態を変更させるため。例えばcdコマンドを/bin/cdとして用意してbashから当該コマンドを実行しても、当該コマンドのpwdが変更されるだけで、bashのそれは変更されないため、意味がない 今回は前者に焦点を合わせて、その効果と、組み込みコマンドの自作方法について述べます。 予備知識: 組込みコマンドによるスクリプト高速化の効果 組込みコマンドそのものの存在、及びその存在意義について既にご存知のかたは、この節を飛ばしてもらって構いません。 例えば皆さんがbashスクリプトからechoコマンドを実行した場合

                                                                        bashの組込みコマンド自作によるスクリプトの高速化 - Qiita
                                                                      • 技術メモ帳 - 単語抽出するちょっとしたテクニック

                                                                        shell のちょっとしたテクニック - odz buffer odzさんのところで単語の出現頻度を調べるためのワンライナーが紹介されている。 単語抽出についてはいくつかやり方があるので紹介する。 特に egrep -o は非常に実用的。 もちろん、この話はリンク先において主題ではない。 俺のただの自己満足。 tr -cs で単語抽出 $ tr -cs 'a-zA-Z' '\n' < ./.zshrc 上記コマンドで、a-zA-Zのみで構成される文字列を抽出できる。 -c オプションで、'a-zA-Z' の補集合(以外)を '\n' に変換し、 -s オプションで、最後の引数で指定される要素の重複を除去している。すなわち '\n' の連続を除去している。 grep -o で単語抽出 grepには、( -o、--only-matching ) オプションというのがある。 これは、指定された正

                                                                        • コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ

                                                                          fillinというコマンドラインツールを作成しました。 コマンドの一部を変数化して、別の履歴に保存しておけるツールです。 ステージング環境と本番環境のように、同じコマンドで複数の環境を切り替えるのに便利です。 zshの本 (エッセンシャルソフトウェアガイドブック) 作者:広瀬 雄二発売日: 2009/06/17メディア: 単行本(ソフトカバー) どうして作ったの コマンド履歴って便利ですよね。 私はよくコマンド履歴からコマンドを選んで実行しています。 シェルに付属しているデフォルトの履歴を使っている方もおられるでしょうし、fzfやpecoのようなインタラクティブな絞り込みを行なっている方もいるでしょう。 私が一番困っていたのが、認証キーの扱いです。 webアプリを作っていてcurlで素早く確認するときに、認証キーやアクセストークンを打つことがあります。 アクセストークンのようなランダムな英

                                                                            コマンドラインがさらに便利になるfillinコマンドを作りました! - プログラムモグモグ
                                                                          • 変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                            → 他のプログラミング言語と同様に = を使用する。 シェルスクリプトでも C言語などと同様に = を使用することで変数に値を設定することができる。ただし、C言語とは違い = の前後にスペースがあってはいけない。 また、変数名の大文字と小文字は区別されるため変数 VAR と変数 var は別物として扱われる。さらにシェル変数に「型」は存在しないので、文字列や数値を区別なく設定できる。 ポイントをまとめると以下のとおりとなる。 = を使う 値の設定時は変数名の先頭に $ を付けない ($ は参照時のみ) = の前後にスペースを入れない (前後にスペースがあるとエラー) 型は存在しない (declare コマンドや typeset コマンドで似たようなことができるが推奨はしない) 変数名の大文字・小文字は区別される (VAR と var は別物) 特に「2」は初心者が犯しがちなミスなので注意す

                                                                              変数を使用する | UNIX & Linux コマンド・シェルスクリプト リファレンス
                                                                            • jq コマンドが強力すぎてヤバい件

                                                                              JSON の内容を sed や awk のようにフィルタ・加工するためのプログラムに jq がある。 JSON 形式で提供されている WebAPI の出力や、ログの内容を扱うのにとても便利。 その強力さの一端を紹介したい。 インストールは Mac OS X であれば Homebrew から。公式サイトからバイナリをダウンロードすることもできる。 $ brew install jq サンプル用の JSON を用意しておく。 $ cat << EOS > jsonfile {"name": "Foo", "sex": "Male", "age": 15, "emails": []} {"name": "Bar", "sex": "Male", "age": 20, "emails": ["hoge@example.jp"]} {"name": "Baz", "sex": "Female", "

                                                                                jq コマンドが強力すぎてヤバい件
                                                                              • Perl、Python、PHP、Rubyについて - Qiita

                                                                                今更ながら、比較というか、意見を述べる。ただの自己満足と私的見解。 誕生の歴史的経緯 それぞれの言語が作られた経緯と目的を知ることは、その言語を使う意味で重要であると思う。 Perl前の時代 Perl前の時代、世の中にはC言語のようなコンパイル言語しかなく、コンパイルせずに処理ができるのはシェルやsedやawkぐらいしかなかった。ちょっとしたテキストを自動的に処理したいが、C言語とかで本格的に作成するような物ではないとき、人はみんな、シェルスクリプトとしてUNIXのコマンドを並び立てて処理していた。sortやtestなどの便利なコマンドがUNIXには用意されていたし、ちょっと複雑な処理でもsedやawkを駆使しして、何とかできていた。 しかし、シェルと言ってもBourne Shell系とC Shell系の二つがあったり、同じUNIXコマンドでもOSによってオプションが異なるなど、移植性が低

                                                                                  Perl、Python、PHP、Rubyについて - Qiita
                                                                                • SoftwareDesign2018年1月号「使えるシェルスクリプトの書き方」特集が面白かった件 | DevelopersIO

                                                                                  AWSを日常的に触っていると、シェルスクリプトを書く機会が山のようにあります。あるんだけれど、どうにも考え方が特殊というか、他の一般的なプログラミング言語とは扱い方が違うというか、使いこなせて無い感を強く持ってました。 そんな折、SoftwareDesign2018年1月号でシェルスクリプト特集があったので、渡りに船とばかり購入して読んでみたところ、むっちゃええ感じの特集だったのでここに紹介いたします。 普段からシェルスクリプト書いているんだけれど、「これで良いんかなぁ」というモヤモヤ感をお持ちの方には有用なヒントが満載の特集だと思いますYO __ (祭) ∧ ∧ Y  ( ゚Д゚) Φ[_ソ__y_l〉     シェルスクリプトダワッショイ |_|_| し'´J 以下、コマンド例は、bashを前提としています。 第1章「使えるシェルスクリプトにするために」 最初の章では、「使えるシェ

                                                                                    SoftwareDesign2018年1月号「使えるシェルスクリプトの書き方」特集が面白かった件 | DevelopersIO