並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 318件

新着順 人気順

ShellScriptの検索結果241 - 280 件 / 318件

  • 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
      • rsync (+ ssh) で簡単バックアップ

        Miscellany Top > Linux Memo > backup by rsync Backup by rsync (+ssh) 2000.12.8 updated Linux/UNIX 上のデーターを(別の Linux/UNIX マシンに)バックアップしたり、2つのマシンのあるディレクトリどうしの内容を同期するのに、どうしているでしょうか?私の場合、以前は NFS でマウントして、cp -a (コピー)したりしていたのですが、環境が変わってから NFS を利用できなくなってからは、rsync を使うようになりました。 この rsync によるバックアップというのは、使うまでは「設定その他が必要で面倒そう...」と思っていたのですが、実際にやってみると手動でバックアップ・同期するだけなら設定も必要なく、あっさり使えました。 また、ssh と併用することでポートフォワーディング先のマ

        • 第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp

          パイプライン処理とは GUIは非常に直感的です。はじめて使うアプリであっても、なんとなくそれなりに動かせてしまうという点で、優れたインターフェイスと言えます。しかし効率を突き詰めると、軍配が上がるのはGUIよりもCLIでしょう。本連載の読者であれば、UnixライクなOSのCLIが持つパワーについては当然ご存知かと思います。 とはいえ、古典的なUnixコマンドの多くは、単体ではそれほど強力なものではありません。というのも、ひとつひとつのコマンドはシンプルに、特定の用途においてのみ上手く動作するよう設計されていることがほとんどだからです。こうしたコマンド群に無限のシナジーを与えるのが「パイプライン処理」です。標準入出力を通じて複数のコマンドを直列に繋げることで、複雑な処理をインスタントに組み立てることができるパイプラインは、まさにUnix哲学の体現であり、CLIの真髄はここにあると言ってもよい

            第723回 複雑なコマンドパイプラインを簡単に組み立てる方法 | gihyo.jp
          • dotfiles を使った環境構築の時短術(M1 Mac 向け) - SMARTCAMP Engineer Blog

            挨拶 おすすめする人 dotfiles とは dotfiles を使ってみた感想 セットアップ方法 リポジトリ構成 自動セットアップ アプリケーションの管理 カスタマイズ デスクトップアプリケーション CLI アプリケーション Mac App Store のアプリケーション 完成系 プログラミング言語の管理 カスタム例 設定ファイルのシンボリックリンク作成 カスタム例 .gitignore および README.md .gitignore README.md さいごに 挨拶 こんにちは!スマートキャンプエンジニアの石井(トマス)です。現在、Boxil Event Cloudの開発に携わっています。 好きなことは「開発体験の向上」に取り組むことで、プロダクト参画時、開発環境をホストマシンに直接構築している状態で手順書もなく非効率だったのでDocker化し環境構築を簡略化しました。 今回は「開

              dotfiles を使った環境構築の時短術(M1 Mac 向け) - SMARTCAMP Engineer Blog
            • 怠惰にgitを使うためのシェル活用術、またはgst一族 - Qiita

              Git Advent Calendar / Jun. 6/12 担当@T_Hashです。 明日も仕事でだるいのですが、怠惰はプログラマの美徳といいます。というわけで僕が日々の仕事で怠惰にgitを使うための設定を共有したいと思います。 zsh ↓を参考にした設定を.zshrcに記述して、右プロンプトにブランチ名とステータスを表示させています。コマンドを叩かずに状態が見えて非常に便利です。 git のブランチ名 と作業状態 を zsh の右プロンプトに表示+ status に応じて色もつけてみた 緑だとクリーンな状態、赤だと未コミットの変更があります。「緑が正常な状態、緑に戻って来たら一段落してコーヒー飲もう」とか考えながら作業をしてます。 あと、zshはgitのコマンドも補完してくれるので地味に重宝します。 gst: git status git statusは常に叩くクセを付けた方がいいと

                怠惰にgitを使うためのシェル活用術、またはgst一族 - Qiita
              • DSAS開発者の部屋:サーバ管理者向け無精のすすめ 〜ちょっと便利なツールの紹介〜

                弊社のLinuxサーバ、ネットワークインフラのDSASの特徴のひとつに、100台近くある全てのサーバの内容が(数個の役割設定ファイルを除いて)同期されているという点があります。 これにより、 スケーラビリティ 予備機をサービス投入するだけで済むので、テレビCMなど突発的な高アクセス時にも迅速な対応が可能です。 増強が容易 サーバをラックマウントしたら適当なサーバからまるまんまコピーすればクラスタに参加可能です。まとまった台数の増強をする際に、いちいちCD-ROMからOSをインストールしていると日が暮れちゃいます。 役割の変更が容易 ディスクの内容が同じなので、もし、メールサーバが故障しても、適当なWebサーバの役割設定ファイルを変更して再起動するだけでメールサーバに早変わりできます。 メンテナンスが容易 ディスク上のファイルを更新した場合は、rsyncなどで全サーバに同期コピーすれば更新完

                  DSAS開発者の部屋:サーバ管理者向け無精のすすめ 〜ちょっと便利なツールの紹介〜
                • 日本IBM

                  ワークプレイスを最適化し、虎ノ門に本社を移転 日本IBMは、2024年1月に、虎ノ門・神谷町エリアに事業所を新設し、そこに本社を移転します。 ニュースリリース watsonx Graniteモデル・シリーズ、IBM watsonxモデル向けお客様保障の提供開始を発表 IBM TechXchange Conference Japan(2023年10月31日~11月1日) 無料評価版:エンタープライズ・グレードのAIモデルを構築 無料評価版:あらゆるデータを対象に、AIワークロードを拡張 SPSS Statisticsの年間サブスクリプション選択で10%割引 ストレージの構成比較から見積までを簡単に

                    日本IBM
                  • bash によるオプション解析 - Qiita

                    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

                      bash によるオプション解析 - Qiita
                    • bash 入門

                      ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基本的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの

                      • POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita

                        実は最大並列数の制限がなければジョブ(標準入力からの一行単位のデータ)の数だけバックグラウンドプロセスを起動すればいいのでかなり簡単に実装できます。ですが普通は嫌ですよね?ということで最大並列数を制限する処理を入れています。また通常の利用で必要になりそうな CTRL-C と TERM シグナルへの対応もしています。 #!/bin/sh set -eu [ "${ZSH_VERSION:-}" ] && setopt shwordsplit MAX_PROC=4 # 最大並列数 # INT(CTRL-C)、TERM による終了処理 terminate() { trap '' TERM kill -TERM 0 exit "$1" } trap "terminate 130" INT trap "terminate 143" TERM # trap : CONT # 並列で実行される処理 fu

                          POSIX準拠シェルスクリプトでマルチコアの能力を活用する並列処理の実装(最大並列数あり、GNU Parallel, xargsなし) - Qiita
                        • test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

                          test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 拡張 POSIX シェルスクリプト Advent Calendar 2013、15日目の記事です。 書くのが遅れ、ネタは尽きかけ、 マニアックさやニッチさが足りなくなってきているような気がします。 ふつうの内容ですみません。 今日は test, [, [[ コマンドの違いについてざっくり紹介します。 [[ がある bash, ksh, zsh ならば test と [ の使用は避け、 [[ を使用すべきです。 [ は慎重に使わないと様々な罠にかかるため危険です。 (翌日のネタも併わせてどうぞ) test と [ の違い どちらもシェルの組込みコマンドです。名前が違うのと [ は最後の引数を ] にしなければいけない縛りがある以外、 動作まった

                          • @IT:Linux起動の仕組みを理解しよう[rcスクリプト編]

                            今回は、前回紹介し切れなかったrcスクリプトについて解説する。rcスクリプトも、理屈を理解してしまえば容易に管理できる。管理方法のついでに、rcスクリプトの書き方もマスターしてしまおう。 前回のLinux起動の仕組みを理解しよう[init/inittab編]では、カーネルがinitプロセスを起動して、さまざまな処理を行うことを説明しました。今回は、各種サービスの起動を行うrcスクリプトについて見ていきましょう。 rcスクリプトの管理の仕組み rcスクリプトは、Windowsのautoexec.batに相当すると考えればいいでしょう。もちろん、rcスクリプトとautoexec.batでは異なる点があります。rcスクリプトは、対応する作業ごとに1つずつ、複数のファイルで構成されています。また、ランレベルごとに実行するrcスクリプトを変えることができます。 rcスクリプトの実体は、/etc/in

                              @IT:Linux起動の仕組みを理解しよう[rcスクリプト編]
                            • シェル・スクリプト・リファレンス・ランキング

                              Linuxで一連の処理を行う際には,シェル・スクリプトが役立ちます。シェル・スクリプトは,シェル上で同じような操作を続けるときや複雑な操作を行いたいときに,その操作手順をテキスト形式で記述しておき,任意に実行できるファイルです。定型的な処理を繰り返し実行するときに便利ですが,シェル・スクリプトを作成するには,記述のルールなどを知っておく必要があります。 日経LinuxのWebサイトでは,シェル・スクリプトの使い方について紹介した「シェル・スクリプト・リファレンス」を公開しています。シェル・スクリプトの基本的な知識から,変数の扱い方,繰り返しや条件分岐などの記述方法,シェル・スクリプトで便利に利用できるコマンドなどを紹介しています。 日経Linuxは2006年3月1日に,シェル・スクリプト・リファレンスをITproに公開しました。公開後1年が経過したのを契機に,過去1年間によく閲覧された項目

                                シェル・スクリプト・リファレンス・ランキング
                              • シェルの変数に慣れる

                                ユーザー定義変数の使い方 変数は、シェルの世界、とくに英語のドキュメントでは「パラメータ」と呼ばれていますが、日本語でパラメータというとどうも違う意味にとられがちなので、ここでは「変数」と呼ことにしたいと思います。ではシェルスクリプトにおける「変数」の取扱と特徴について見ていくことにしましょう。 シェルやシェルスクリプトで変数を定義する場合は、 のように記述します。とくに前もって変数を宣言したりする必要はありません(宣言することもできますが)。‘=’の両側にスペースをあけたりしてはいけません。C言語などの変数代入などの際にスペースをあける癖のある方は気をつけてください。 格納された値を参照する場合は、変数の先頭に‘$’をつけます。ためしにechoを使って標準出力に変数を表示してみます。

                                  シェルの変数に慣れる
                                • シェルスクリプトを公開するとき, コマンド前にバックスラッシュをつけるべき - Shohei Yoshida's Diary

                                  oh-my-zsh の環境で、peco-select-history が動かない - Qiita 追記 2014年 7月 7日 シェルスクリプトと書いてしまい漠然すぎましたが, ここで述べている ことが問題になるのは, .bashrc, .zshrcに関数, alias設定等がコピー される場合や, sourceコマンドでファイルを読み込む場合です. non-interactiveに実行されるシェルスクリプトについては特に 問題ないです. 問題点 そうしないと, 公開されたコマンドを自分の環境に導入した場合, aliasにより正しく動かなく場合があるためです. aliasをつけがちな コマンド(ls, grep等)がシェルスクリプトに含まれていると 特に問題が起こる可能性が高くなります. 例 pecoを使って カレントディレクトリのファイルをページャで開く 例を考えてみましょう. 単純に考

                                    シェルスクリプトを公開するとき, コマンド前にバックスラッシュをつけるべき - Shohei Yoshida's Diary
                                  • シェルスクリプトの文法チェックを全自動で行う「ShellCheck」が参考になる!

                                    シェルスクリプトの勉強を始めたばかりの人にもオススメできるツール「ShellCheck」のご紹介! シェルスクリプトの「文法チェック」には、いくつか方法があるわけですが、なかでも「ShellCheck」は非常に簡単に扱えるだけでなく、エラー箇所を具体的に指摘してくれるので助かります。 使い方!最もオススメな使い方が、公式サイト上でそのままチェックする方法! シェルスクリプトをブラウザ上で入力することができ、何もしなくても自動的にデバッグされて下段に結果を表示してくれます。 例えば、よくありがちな変数の「$」を付け忘れた場合…。(echoで、変数yの$を付け忘れてますね…)

                                    • Windows PowerShell

                                      Windows Power Shell は、 Windows をコマンドラインから、あるいは、 スクリプトを使って管理するために作られた新しいシェル環境です。 作られた目的のせいか、 Power Shell を解説する書籍・ウェブサイトには、 「管理者向けの TIPS、実例集」 (レジストリの値の変え方とか、WMI の呼び出し方とか) みたいな物が多かったりします。 でも、Power Shell を調べてみた感じ、 Power Shell 用のスクリプト言語や、 コマンドレットの動作・作り方など、 プログラミング的にも結構面白そうな感じなので、 その辺りを中心に話をしてみようかと思います。 (注: コマンドの実行結果など、 ページ表示の収まりをよくするため、 ところどころ省略している部分があります。 )

                                        Windows PowerShell
                                      • UNIXシェルスクリプトメモ(Hishidama's UNIX shell script Memo)

                                        -xを付けると実行内容を表示しながら実行する。[2008-11-29] bash -x スクリプトファイル -nを付けると、実行せずにファイル内の構文解析(エラーの有無のチェック)を行う。[2008-11-29] bash -n スクリプトファイル . スクリプトファイル 現在実行中のシェルと同じシェルを使ってスクリプトを実行する。 スクリプトの中で環境変数を設定した場合、現在のシェルの環境にも影響する (スクリプトの中で定義した環境変数が実行元でも有効になる)。 ファイルに実行権限(chmod +x)が付いている場合は、以下のようにして実行できる(相対パスで指定している)。 ./スクリプトファイル ファイルに実行権限(chmod +x)が付いており、かつ環境変数PATHにカレントディレクトリ「.」が含まれている場合は、以下のようにして実行できる。 スクリプトファイル シェルスクリプトの書

                                        • 旧・Macの手書き説明書 - FC2 BLOG パスワード認証

                                          ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

                                          • bash

                                            Linux においての「コマンド」とは、シェルによって実行ファイルが実行されていることを意味します。 たとえば ls コマンドをユーザが入力した際、その入力はシェルにとっての入力でしかありません。シェルはユーザから入力された ls という文字列を「ls という実行ファイルを実行する」と解釈し、カーネルに伝えます。 ls という実行ファイルを実行した結果がシェルによってユーザに伝えられ、あたかもユーザは ls という実行ファイルを直接実行したように感じることができます。 このように「実行したように」というのがユーザインタフェースとしてのシェルの役目です。 しかし、今回はスクリプト言語としての bash をメインに扱うので、この章は軽く流していただいて結構です。 ご存じのように bash はプログラミング言語(シェルスクリプト)のひとつとして動作します。 プログラミング言語として、最低限備わっ

                                            • シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita

                                              この中で私が特に気に入ったコマンドは dateround です。次点は dategrep です。この二つは特に強力で、awk やその他のコマンドを使って日時をこねくり回すような「無駄に難解なコード」を書かずに Dateutils のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが重要であることを思い出させてくれるでしょう。 Dateutils の重要な特徴と使用例 大抵のコマンドは機能の説明から想像できると思いますし、公式サイトにも例があるので詳細を一つ一つ説明することはしません。その代わりに「Dateutils の使いこなしに必要な考え方」が分かるような例をいくつか紹介します。 重要な注意点ですが Dateutils はロケールをサポートしていますが、原則としてシステムのロケール情報やユーザーの環境変数には依存していません。内部にロケー

                                                シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
                                              • AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数

                                                CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

                                                  AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数
                                                • シェルスクリプトのオプション設計ガイドライン - Qiita

                                                  僕はコマンドラインで使うシェルスクリプトを書くことがけっこうあるんだけど、インターフェイスというか呼び出し方はとても大事だと思ってるので、そこにわりと時間をかけて考えるようにしてる。実装はいつでも変更できるけど呼び出し方を変えた時は利用者にも変更を強いるので、できれば最初から良い設計で作りたいと思っている。 そこで、僕がシェルスクリプトのオプションとか引数とかの仕様を決める上で注意していることをまとめてみた。シェルスクリプトや、その他コマンドラインのツールを作るときに参考にしてほしい。 シェルの種類は bash や zsh を想定してるけど、実装によらない話なのでどんなシェルでも使えると思う。 エラーの時に Usage (使い方ヘルプメッセージ)を表示するのはやめる エラーになった時に Usage (使い方ヘルプメッセージ) を表示するスクリプトがあるけど、やめたほうがいいと思う。例えばこ

                                                    シェルスクリプトのオプション設計ガイドライン - Qiita
                                                  • 30分で開発マシンに変身させる魔法のスクリプト·Laptop MOONGIFT

                                                    LaptopはUbuntu、Mac OSXのRuby on Rails開発環境をまとめてセットアップします。 これからRailsの勝発をはじめてみたい、そう思ったMac OSX/Ubuntu利用者にお勧めなのがLaptopです。30分であなたのマシンが開発マシンに様変わりします。 例えばこれがMac OSX用。 こちらはUbuntu用。 インストールされるソフトウェアです。 Laptopはたった一行のコードを実行するだけで多種多様なソフトウェアが一気にインストールされます。Homebrew(Mac OSXの場合のみ)/QT/Ack/Tmux/Postgres/Redis/ImageMagick/RVM/Ruby 1.9.2/Rails/Heroku/Tapsなどがインストールされます。ネットワーク状況によりますが、だいたい30分はかかるとのことです。 LaptopはBashスクリプト製、M

                                                    • ManPage JM Project (Japanese)

                                                      JM Project について JM Project は日本語オンラインマニュアルパッケージの作成、 配布を行なっているプロジェクトです。 このプロジェクトにおける仕事には man page の翻訳・校正 man page package の編集と配布 (RPM/SRPM 配布) man コマンド等周辺環境の整備 などがあります。また今後の課題としては、 翻訳済み man page の収集 上流への連絡と、必要に応じて翻訳配布許可の明示的な取得 上流パッケージへの翻訳のマージ が挙げられます。 活動の詳細や JM への参加方法については JM 翻訳作業の手引き をご覧ください。 なおメールが配送されなくなったメンバーは、 配送エラー一覧 を確認してください。 バグレポートをお寄せください JM Project で配布しているマニュアルに関して、 誤字・誤訳その他お気づきの点がありましたら、

                                                      • シェルの弱点を補おう!"まさに"なCLIツール、egzact - Qiita

                                                        egzactというコマンドの詰め合わせセットを作ってみました。 → Github きっかけ zipで多重圧縮するのに、$ zip ファイル | zip | tee zip1 | zip | tee zip2 | zip | tee zip3 。。みたいなの出来ない? #シェル芸 #usptomo — ぱぴろん (@papiron) 2016年3月25日 これはあるシェル芸界隈1の方の発言です。アンチウイルスソフトの動作確認で、多重ZIPされたテストウイルスファイルが必要だったとのことです。何人かの方からアドバイスを頂いていたようですが、残念ながらシェルでサクッっとは結局できなかったご様子でした2。 この事例は、シェル上でのワンライナー(a.k.a シェル芸3)の弱点の一つを如実に表しています。文字列を切り出したり、変換したりというフィルタリングの処理は得意ですが、パターン生成が比較的苦手で

                                                          シェルの弱点を補おう!"まさに"なCLIツール、egzact - Qiita
                                                        • IDEA * IDEA

                                                          ドットインストール代表のライフハックブログ

                                                            IDEA * IDEA
                                                          • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

                                                            シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

                                                              shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
                                                            • シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita

                                                              マルチライナー記法とは? マルチライナー記法とは、その名の通りシェル芸をワンライナーではなくマルチライナー(複数行)で書くことです。長すぎる行をワンライナーで書くと以下のように横スクロールが必要になって非常に読みにくくなります。(コードは Convert long single line command to a bash shell script より借用。長いコードとして利用しているだけで中身に意味はありません)。マルチライナー記法はこのようなワンライナーを読みやすく書くことです。 nice --20 iperf3 -c somelocation.com -f k | while IFS= read -r line; do echo "$(date) $line"; done | tee onespeed.txt | tee -a speeds.txt; sleep 30 ;cat o

                                                                シェル芸の可読性を向上させるマルチライナー記法のススメ - Qiita
                                                              • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

                                                                コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

                                                                  Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
                                                                • シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」

                                                                  1. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 1 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 jus 勉強会 シェルスクリプトワークショップ 初心者向け「シェル芸」 日本 GNU AWK ユーザー会 斉藤 博文 2. http://gauc.no-ip.org/awk-users-jp/日本 GNU AWK ユーザー会 斉藤 @hi_saito - 2 - 2014 年 12 月 13, 14 日 シェルスクリプトワークショップ @鳥取環境大学 はじめに 3. 自己紹介  「日本 GNU AWK ユーザー会」会長  http://gauc.no-ip.org/awk-users-jp/  hi_saito@yk.rim.or.jp  @hi

                                                                    シェルスクリプトワークショップ資料 - 初心者向け「シェル芸」
                                                                  • The art of command line (日本語訳) | Yakst

                                                                    コマンドラインで素早い操作ができるのは、優れたエンジニアの資質の一つとも言える。そのためのテクニックを集めた珠玉のコマンド集。 原文のコミット bb0c38c0899339e836c37eead4a9534b06c56662 The Art of Command Line メタ情報 基本 日常的に使うもの ファイルとデータの処理 システムのデバッグ ワンライナー 目立たないが便利なもの さらなるリソース 免責事項 コマンドラインで流れるように操作ができるということは、軽く見られたり他人から理解されないスキルだとみなされることもあるでしょう。しかしそのスキルは、明らかにかすぐ分かるようかは問わず、エンジニアとしてのあなたの柔軟性や生産性を改善してくれるものです。ここでは、Linuxでコマンドラインを使う上で便利だと思ったメモやTipsの数々を挙げてみます。あるものは基礎的ですが、非常に詳しい

                                                                      The art of command line (日本語訳) | Yakst
                                                                    • ウノウラボ Unoh Labs: シェルスクリプトでプログラミング

                                                                      パワプロよりパワポケが好きなbokkoです。でも最近はPSPで遊んでいます。 今回はシェルスクリプトやコマンドラインでよく使うプログラムとその使用例の紹介です。 シェルスクリプトでは既にあるコマンドを組み合わせてプログラムを書きます。しかし、シェルスクリプトは分岐や繰り返しといった制御構造を持ち、関数や変数を扱ったり、四則演算を行うこともできます。 演算 シェルスクリプトで演算を行うにはexprを使います。 add.sh #!/bin/sh A=1 B=2 C=`expr ${A} + ${B}` echo ${C} ↑のadd.shを実行すると、 $ sh test.sh 3 $ と表示されます。↓のようにexprの引数をスペースで区切らず渡してしまうと、単に1+2と表示されてしまいますので、注意しましょう。 #!/bin/sh A=1 B=2 C=`expr ${A}+${B}` ec

                                                                      • Linuxで自宅サーバ構築・管理: KSKNET

                                                                        stat - ファイル情報の取得 stat関数はファイルの様々な情報を得るための関数です。この関数を使うことでファイルサイズや、ファイル所有者、最終更新時間などを調べることができます。

                                                                        • 連載記事 「ステップ・バイ・ステップ・シェルスクリプト」

                                                                          2つの顔を持つソフトウェア:シェル ステップ・バイ・ステップ・シェルスクリプト(1) この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基本的な知識を説明していきます

                                                                          • Bashタブ補完自作入門 - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                                            ドーモ、SREチームの湯谷(@yutannihilation)です。最近気になるモジュラーシンセはIntellijelです。 上司がいい感じのコマンドをつくるという記事を書いていましたが、いい感じのコマンドにはいい感じのタブ補完を付けたくなります。この記事ではBashのタブ補完を自作する方法を紹介します。 タブ補完の仕組み Bashのタブ補完自体はBashに組み込まれている仕組みです(参考:Bash Reference Manual - 8.6 Programmable Completion)。completeというBashの組み込み関数によって補完方法(compspec(completion specification)と言うらしいです)が規定されていて、これがタブなどによって起動されます。 タブ補完は、lsならファイル名、cdならディレクトリ名、というようにコマンドに応じたものが設定さ

                                                                              Bashタブ補完自作入門 - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                                            • 日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                              → -d 'N days ago' オプションで N 日前の日付を取得できる。 Linux では拡張された GNU date コマンドが使用できるので、簡単に過去の日付を取得できる。 $ date 2007年 6月 2日 土曜日 23:05:20 JST #↑そのまま実行すると当日の日時が表示される。 $ date -d '1 days ago' 2007年 6月 1日 金曜日 23:05:31 JST #↑1日前を指定すると、現在日時から24時間前の日時が表示される。 「GNU date」が使用できない場合 → 一時的に環境変数 TZ を変更した上で date コマンドを実行する。 古い UNIX マシンなどでは、「GNU date」が使用できない場合が多い。そういった環境では、一時的にタイムゾーンを変更して date コマンドを実行することで、過去の日付を取得することができる。 $ e

                                                                                日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス
                                                                              • expect. 対話的なコマンド(telnet,ftp,su等)を自動実行したいとき(Kodama's tips page)

                                                                                Kodama's home / tips. expect. 対話的なコマンド(ssh, telnet, ftp, su等)を自動実行したいとき ssh, telnet , ftp 等の対話的に使用するように作られたプログラムを スクリプト中に組み込んで定型的な作業を自動実行したい場合には expect を用いる事をお勧めします. また, ruby 言語を使えるなら ruby の expect.rb を使うのも良いでしょう. スクリプト中で su が必要な作業をさせたい場合にも便利です. 複数のマシンでの管理作業に利用した例があります. 複数のマシンでリモ−トでコマンド実行 手作業での実行例 次は telnet して ls する場面です. $ telnet hoge # マシンhoge に telnet した hoge login: foo # ログイン名 foo Password: # パ

                                                                                • /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 の違い - 双六工場日誌