並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 317件

新着順 人気順

ShellScriptの検索結果41 - 80 件 / 317件

  • ターミナルの作業が捗るかもな小技5つ - Qiita

    ターミナルで作業する事が多いんですが、そのときによく使っているちょっとしたときに便利なコマンドなどを紹介します。 bashで説明します。 (zsh でもつかえるし、もっと便利になる物も多いですが) 1. 並列な階層に複数ディレクトリを一度に作成 {} を利用します。 aa,bb,cc というディレクトリを作るとき。

      ターミナルの作業が捗るかもな小技5つ - Qiita
    • エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita

      タイトルはかなり挑戦的(?)ですがあまり気にしないでください。 ※注意 このエントリで紹介しているオプション、コマンドはCentOSでしか動作確認をしていません。 その他ディストリビューションや、インストール方法によっては挙動が異なる場合があります。 「less」 使ってますか? エンジニアなら普段Linuxに触る機会が多々あるかと思います。 エンジニアのみならずMacだったりUbuntuだったりで私用PCでもターミナルが使えるようになっている方は多いかもしれません。 私は普段の仕事ではサーバの運用管理をしています。 仕事柄触る頻度が高いのはLinuxサーバです。 そして、使うのは大体CLIです。 そもそもLinuxでGUIを触る機会がなかなかありません。 大体リモートからターミナルで接続してCLIでちょいちょいっと処理をする感じですね。 GUIである場合でもLinuxを使っていればターミ

        エンジニアなら知っておきたい lessコマンドtips 11選 - Qiita
      • シェルスクリプトを書くときに気をつける9箇条 - Qiita

        最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

          シェルスクリプトを書くときに気をつける9箇条 - Qiita
        • Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita

          なぜStackOverflowか Upvote/Downvoteの仕組みにより、自然とベストプラクティスが蓄積されている 世界中のプログラマの目に晒されているため質が高い 答えが幾つか出されているため視野が広がる・一つの手法に固執することがない 英語の勉強にもなる StackOverflowのおすすめの見方 質問はまずしっかり理解する それに対する答えを比較してみて、なぜそう動くのかを考える コメント欄はFont Size的には小さいが、かなり濃いコメントが書かれていることが多いので暇なら目を通す 10. Looping through the content of a file in Bash? ファイルの内容をループで取得するためのベストプラクティス。 (2015/10/23 : 本節修正しました。@heliac2000 さん、@kawazさん、ありがとうございました。詳しくは本記事コ

            Linuxに関わる人が一度は読むべきStackOverflowまとめ - Qiita
          • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

            他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

              初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
            • めっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。

              こんにちは nakamura です。そういえば 4/1 から 神奈川県公共的施設における受動喫煙防止条例 が施行されましたね。今のところよく行くお店でそれらしい光景は見掛けませんが、先日行った居酒屋はものの見事に禁煙になっていて心なしか客足もまばらな感じでした。神奈川県の飲食はこれから厳しそうですな。 さてさて思わず関西弁になってしまうほど便利な find コマンドを今日はご紹介します。比較的有名なコマンドですが、オプションが相当な数あり正直全てを把握するのは無理かもしれません。ただ、よく使うものだけでも頭に入れておくと何かと便利な優れものなのです。 基本的なオプション まずは基本的な使い方。 -type ファイルタイプの指定に使用するオプションです。スペシャルファイルや名前付きパイプ等様々な引数がありますが、よく使うのはディレクトリを示す d と通常ファイルを示す f でしょうか。 -n

                めっちゃ便利やねん find コマンドのオプションまとめ | バシャログ。
              • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

                WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日本語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日本語訳) curlコマンドのオプシ

                  WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
                • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

                  シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから

                    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
                  • 統計屋のためのAWK入門 - あんちべ!

                    はじめに 本稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。 AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです。 awk /fail/ input.txt つまり、スラッシュ記号で文字列を指定するだけで その文字列を含む行を抽出できるのです。 大変簡単ですね! また、awkはLinuxやMacには標準で入っており、 Windowsでもawk.exeを一つ用意するだけなので、 面倒なインストール作業や環境構築は不要で誰でも即座に使えるため、 自分で書いた処理を他人に渡したり*2各サーバに仕込むなども簡単に出来ます。 複雑な処理をする場合はPythonや

                      統計屋のためのAWK入門 - あんちべ!
                    • あなたの知らない less の世界 - Qiita

                      最近 prezto 入れたんですよ。prezto。そしたらいつものシェル世界が見違えるほど使いやすくなって身長も 3 メートルくらい伸びたんですが、それは余談でして、prezto 入れた後に less 使ってみたら余りの変わりっぷりに驚いたんです。 これを機に man page を読み直してみたら更に驚き。less ってこんなスゴイ物だったのか!みたいな。今回はそんな less の底力を紹介します。 環境変数 $LESS less には様々なオプションがあるのですが、これを予め環境変数 $LESS に設定しておくと、毎度 less ファイル名 と打つだけでそれが有効になります。更に、後述しますが、この設定は less 起動中にオン・オフして切り替えることが可能です。 # 最低限でもこれくらいは設定しておこう export LESS='-i -M -R' # 僕は後述の物を全部付けてます(-

                        あなたの知らない less の世界 - Qiita
                      • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

                        はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

                          【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
                        • HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ

                          みなさんはHomebrewをお使いでしょうか。macOSをお使いの多くの開発者が使っていると思います。 HomebrewのインストーラーはRubyで書かれており、次のコマンドでインストールするようになっていました。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" HomebrewがRubyに依存していることは良いのですが (formulaの書きやすさはRubyならでは)、インストーラーの話になると事情が変わってきます。HomebrewのインストールコマンドはmacOSの工場出荷状態でも動く必要があります。こういうものにRubyを使っているのはリスクがあります。 将来的にmacOSデフォルトにRubyやPythonが含まれなくなる (参考リンク

                            HomebrewのインストーラーをRubyからBashに書き直しました! - プログラムモグモグ
                          • シェルスクリプトの代わりにPythonを使う - オープンソースこねこね

                            これまで、開発や運用時に使う、ちょっとしたコマンドラインツール、自動化スクリプトは、主にBashのシェルスクリプトで実装していたのですが、最近このような用途にはPythonを使うようにしています。 Bashスクリプトへの不満 スクリプトの実装方針 ポータビリティ重視のための縛りPythonプログラミング Tips __future__モジュールでバージョン2、3両方に対応させる バージョン2、3で異なるモジュールを、同じ名前で読み込む バージョン2、3を判別する関数を用意する よく使うスニペット 文字に色をつける 赤い文字でエラーメッセージを出力して終了する 外部コマンド実行する テキストをファイルに出力する ファイルに実行権限をつける スクリプトの同時、多重起動防止する コマンドライン・オプションの解析 HTTPリクエスト まとめ Bashスクリプトへの不満 Bashのスクリプト実装にお

                              シェルスクリプトの代わりにPythonを使う - オープンソースこねこね
                            • いまさらgrepが10倍高速化したのはなぜか – はむかず!

                              最近GNU grepコマンドの最新バージョンがリリースされ、速度が10倍になったとのアナウンスがあった。それを聞いて、なんであんな枯れた技術に10倍もの高速化の余地があったのだろうと不思議に思った人も多いだろう。 ニュース記事:grepコマンド最新版、”-i”で10倍の高速化 本家のリリースノート:grep – News: grep-2.17 released [stable] 今回のリリースでは正確には、マルチバイトロケールで、-iオプション(–ignore-case、つまり大文字小文字を区別しないオプション)をオンにした時の速度が10倍くらいになったそうだ。 なぜそんなに速くなったのか?逆を言えば今までなぜそんなに遅かったのか? そもそも、多くの日本人にとって「大文字小文字の区別」というと英語のアルファベットか、せいぜいフランス語とかドイツ語とかのアクサン記号・ウムラウトがついたものく

                              • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

                                Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、python や ruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

                                  そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
                                • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

                                  「Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、本来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

                                    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
                                  • Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで

                                    Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで マイクロソフトは来月(2017年3月)登場予定のWindows 10の大型アップデート「Windows 10 Creators Update」で、Windowsに取り込んだLinux機能の「Bash on Ubuntu on Windows」とその背後にある「Windows Subsystem for Linux」(以下、両者をまとめて「Bash on Windows」に省略)の強化を行い、これまで実行が困難だったLinux版のJavaやPostgreSQLなども実行可能になることを、2月8日(日本時間2月9日未明)のイベント「Windows Developer Day - Creators Upda

                                      Bash on Windowsが強化、Linux版のJavaやGo、PostgreSQLなどもWindowsで実行可能に。3月リリースのWindows 10 Creators Updateで
                                    • xargs を使ってカジュアルに並列処理 - たごもりすメモ

                                      シェルからでも重い処理というのはちょこちょこあって、例えば超デカいログファイルを移動して圧縮したりというお仕事は世界中のあらゆる場所で毎日行われていたりする。コマンドラインからでも大量の圧縮済みログファイルをいっぺんに展開したい、とか。 あるディレクトリ以下に存在するたくさんのファイルを(圧縮済みのものを除いて)全部 bzip2 圧縮したい!と思ったら、とりあえずさくっと次のようにコマンドラインで叩けばいい。 $ find . -not -name '*.bz2' | xargs bzip2 これで、まあそんなに問題なく効率的にbzip2圧縮ができる。だがしかし。 最近は複数コアのCPUが普通に転がってるし、あまつさえHyperThreadingが有効になってたりしてOSから見える論理CPU数がハンパない。普通に8とかある。その一方で複数コアを使用してくれるコマンドというのはあんまりなくて

                                        xargs を使ってカジュアルに並列処理 - たごもりすメモ
                                      • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

                                        シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくるShellScriptBashUNIXshellPOSIX はじめに シェルスクリプトの変数代入で = の前後にスペースを置くことができない理由は、検索すれば「プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話」のような記事がすぐに見つかります。記事に書いてあるとおり変数代入とコマンド呼び出しと区別がつかないからです。それは間違いではないんですが、私はもう少し説明が足りないと感じています。そこで今回は = の前後にスペースを置けない本当の理由を解説したいと思います。 の前に皆さんにはこの話を読みながら、自分がシェルスクリプトの言語設計者だったとしたら、どういう言語仕様にするかを考えて欲しいです。なぜかと言うとシェルスクリプトの文

                                          シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
                                        • Linux Square全記事インデックス

                                          Linux Squareフォーラムに掲載されている全記事にアクセスできるインデックスです。このページを見れば、Linux Squareフォーラムのすべてが分かります。また、インデックスは記事の追加とともに拡充していきます。

                                          • Android開発を爆速にする10のコマンドラインスクリプト - クックパッド開発者ブログ

                                            モバイルファースト室の山下( @tomorrowkey )です。 みなさんはAndroidアプリをビルドするときに AndroidStudioの実行ボタンを押すのと、ターミナルでgradleコマンドを実行するのと、どちらを使っていますか。 クックパッド社内のAndroidエンジニアでもどちらを使うか好みが分かれるのですが、私はたいていターミナルでgradleコマンドを使っています。 AndroidStudioの実行ボタンだとビルドを途中で中止できないことがあるからです。コマンドであればcontrol+cでいつでも中止できるという気軽さからコマンドを好んで使用しています。 開発するうえでIDEなどのGUIツールはとても便利なのですが、実はコマンドを実行する方がはるかに早くストレスなく開発を進めることができることがあります。 今回は私が実際に使っている便利なコマンドラインスクリプトを10個紹介

                                              Android開発を爆速にする10のコマンドラインスクリプト - クックパッド開発者ブログ
                                            • シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita

                                              はじめに シェルスクリプトで二重起動防止やロックをする方法を検索すると、いろいろな方法や書き方が見つかりますが、どれを使えばよいのか、本当に正しく動くのか、不安になりますよね? ディレクトリ (mkdir) やシンボリックリンク (ln) を使った独自実装の例も見かけますが、エラー発生時や予期せぬ電源断、CTRL+C で止めたときなどでも問題は発生しないのでしょうか? まず、ディレクトリやシンボリックリンクを使った独自実装はしない。これを肝に銘じてください。シェルスクリプトでのロック管理はとても難しく、一般的な排他制御の知識に加えて、シェルスクリプト特有の問題、シグナルやトラップ、サブシェルや子プロセスの問題、さらには特定のシェル固有の仕様やバグなどさまざまな問題に対処する必要があり大変です。独自実装の例では古いロックファイルが残ってしまい、それをいつどのタイミングで片付ければ安全なのか?

                                                シェルスクリプトで安全簡単な二重起動防止・排他/共有ロックの徹底解説 - Qiita
                                              • シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた

                                                シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。

                                                  シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた
                                                • シェル芸初心者によるシェル芸入門

                                                  The document discusses optimization techniques for deep learning frameworks on Intel CPUs and Fugaku aimed architectures. It introduces oneDNN, a performance library for deep learning operations on Intel CPUs. It discusses issues with C++ implementation, and how just-in-time assembly generation using Xbyak can address these issues by generating optimal code depending on parameters. It also introdu

                                                    シェル芸初心者によるシェル芸入門
                                                  • xargs -P が激しく便利なのでメモ - おともだちティータイム

                                                    xargs の -P オプションを使うとプロセスを複数起動して処理を並列に行なうことが出来る。 例 例えば、 1 万枚の JPEG 画像を全て 800x800 に収まるように効率良くリサイズしたい。 まず私はこのようなコマンドを考えた。 convert --geometry 800x800 *.jpg しかし zsh に怒られた。 zsh: argument list too long: convert 引数が全て展開されるためこのような事が起きる。 私は xargs を使って処理することを思い付いた。 ls | xargs -I{} convert --geometry 800x800 {} c_{} 処理は行なわれるが非常に遅い。 しかも CPU を全く使っていないことが分かり、私は処理を並列的に行なう事を考えた。 そこで xargs の -P オプションの出番である。 P の後に並列

                                                      xargs -P が激しく便利なのでメモ - おともだちティータイム
                                                    • ターミナルにリッチなモニターを表示させる

                                                      B! 512 0 0 0 以前、 sparkという シェルスクリプトで棒グラフを表示するコマンドを紹介しましたが、 さらに複雑なグラフや地図などもターミナルに表示してしまおうと言う プロジェクトの紹介。 blessed-contrib termui wopr ブラウザに表示させる blessed-contrib nodeがインストールされている必要がありますが、 nodeが入っているなら取り敢えず $ git clone https://github.com/yaronn/blessed-contrib.git $ cd blessed-contrib $ npm install $ node ./examples/dashboard.js を実行してみてください。 ターミナル上に こんな感じのものが表示されると思います。 追記: 2015/11/30 上のgifはGNU screenを立

                                                        ターミナルにリッチなモニターを表示させる
                                                      • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

                                                        はじめに こんにちは、皆さん。今日は、シェルスクリプトを使った高度な自動化のベストプラクティスとパターンについて解説します。これらは、ちょっとした知識で実行でき、作業を大幅に効率化できるTipsです。シェルスクリプトは、特にUNIX系システムでの自動化タスクに欠かせないツールです。適切に使用すれば、複雑なタスクを効率的に、そして信頼性高く実行できます。 トイルとは、反復的でマニュアルな作業のことを指します。これには、例えば、手動でのシステムのスケーリングや、エラーのトラブルシューティング、ルーティンなメンテナンス作業などが含まれます。トイルを特定し、それを自動化することで、エンジニアはより創造的なタスクやプロジェクトに焦点を合わせることができます。 トイルを判別する方法としては、以下のような基準が挙げられます: 手作業であること 完全な手作業だけでなく、「あるタスクを自動化するためのスクリ

                                                          ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
                                                        • シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)

                                                          プログラムの種類によっては、そのまま実行できるものと、実行できるようにするために「ビルド」が必要なものとがあります。Cなどのコンパイルが必要な言語で書かれたプログラムは当然ビルドが必要ですし、コンパイルが不要な言語であっても、インストーラパッケージを作るというビルド作業が必要な場合はあります。 ビルド作業の自動化のためのツールとしてmakeなどがありますが、そこまで本格的な事をやる必要がない場合は、シェルスクリプトで「ビルドスクリプト」を作るのが手軽でおすすめです。この記事では、そのような場合に役立つシェルスクリプトのテクニックを4つご紹介します。 エラーの気付きやすさとデバッグのしやすさを高める メッセージに色を付ける シェル関数をライブラリにする 一時的に作業ディレクトリの中に入る エラーの気付きやすさとデバッグのしやすさを高める はじめに紹介するテクニックは問題が発生した時に気づきや

                                                            シェルスクリプトで「ビルドスクリプト」を作る時に便利なテクニック - ククログ(2012-10-11)
                                                          • 『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech

                                                            マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 作者:Mokhtar Ebrahim,Andrew MallettオライリージャパンAmazon 令和最新版のシェルスクリプトの入門書とリファレンスがセットになった1冊。手元に置いておくと安心感ありますよね。 令和最新版なので、冒頭からデバッグしたいならVisual Studio Code がオススメ、と出てきます。 コンテナ使おうと思ったらシェルスクリプトの読み書きの出番がどんどん増えていって、コンテナに一番必要なスキルはシェルスクリプトのスキルでは?と思っている今日この頃です(違います)が、そのくらいの用途に必要な要素は全部盛り込んであり、シェルスクリプトの文法と実践的な使い方に加えて、一緒に利用されることの多いgrep、awk、sedといったコマンドの解説も併せて載

                                                              『マスタリングLinuxシェルスクリプト 第2版』、こういう1冊手元に有るとずっと使える本はちゃんと買っておきたいですね - Magnolia Tech
                                                            • 検索ではあんまり出ないbashの便利技 - Qiita

                                                              bashでは記号類をたくさん使うので、この書き方は何?と思っても検索でなかなか出てこないことがあると思う。 そこで知っていると便利なコマンドを残しておく。 随時追記予定。 確認に使用したbashのバージョンは以下のとおり。

                                                                検索ではあんまり出ないbashの便利技 - Qiita
                                                              • 「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」

                                                                ミノ駆動 @MinoDriven 昨日ゲームプログラミングしてる最中 うちの子「パパの書くプログラムってif文すごく少ないね」 僕「よく気が付いたな。同じ動きのコードでも何も考えずに書くとif文だらけで読みにくくなるんだ。if文をあまり書かないよう設計すると皆に喜ばれるぞ」 とインプットしておいた。 2020-02-25 11:48:13

                                                                  「パパの書くプログラムってif文すごく少ないね」 → 「よく気がついたな。if文をあまり書かないよう設計すると皆に喜ばれるぞ」
                                                                • Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね

                                                                  Bashでスクリプトを書く際によく自分が使っている小技や関数などです。 またBashでは他のプログラミング言語以上に$や:などの記号の使い方が独特でググラビリティが低いので、基本文法などもチートシートとしてまとめておきます。 基本文法 変数と配列 制御構文 while for-in if - elif - else if文のone-liner 文字列比較 文字列が等しい (=) 文字列が等しくない (!=) 空文字、文字列長が0 (-z) 空文字でない、文字列長が0でない (-n) 数値比較 数値が等しい (-eq) 数値が等しくない (-ne) 数値がより小さい (-lt) 数値がより大きい (-gt) ファイルの判定 存在する (-e) ファイルである (-f) ディレクトリである (-d) シンボリックリンクである (-L) 関数 便利なスニペット 実行スクリプトがあるディレクトリを

                                                                    Bashスクリプトのチートシートと便利なスニペットまとめ - オープンソースこねこね
                                                                  • UNIX & Linux コマンド・シェルスクリプト リファレンス

                                                                    目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

                                                                      UNIX & Linux コマンド・シェルスクリプト リファレンス
                                                                    • Bashを学べる全20回の入門動画 MicrosoftがYouTubeで無料公開

                                                                      Microsoftは2023年2月21日(米国時間)、初学者向けにBashを解説する全20回の動画シリーズ「Bash for Beginners」をYouTubeで公開した。 開発者向けQ&Aサイト「Stack Overflow」が2022年に実施した開発者調査でも、Bashは最も人気のある技術の7位に選ばれている。Bashは汎用(はんよう)性の高い強力なスクリプト言語であり、タスクの自動化、ファイルの管理、クラウド環境での作業などさまざまな領域で利用されている。 なぜBashの学習が他のスキルに役立つのか 関連記事 未経験者に「プログラミング言語」は求めない 調査で分かった企業が期待するスキルとは パーソルキャリアは、「doda ビジネスパーソンと企業の転職意識ギャップ調査」の結果を発表した。それによるとITエンジニア職「未経験歓迎」求人の割合は2年前(2021年1月)に比べて約3.0倍

                                                                        Bashを学べる全20回の入門動画 MicrosoftがYouTubeで無料公開
                                                                      • Bashのよくある間違い | Yakst

                                                                        原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 本翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

                                                                          Bashのよくある間違い | Yakst
                                                                        • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

                                                                          @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

                                                                            bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
                                                                          • 【学習メモ】LinuxCUI初心者が早く知りたかったコマンド(操作も) - Qiita

                                                                            はじめに Linuxを学ぶ上で 先に教えて欲しかったことを書きます。 つまりは、教える機会があれば先に伝えておきたいことです。 便利なキー操作や誤りがあればぜひ教えてください。 また、この記事に対してmorimorihogeさんの分かりやすい補完がありますので、ぜひそちらと合わせてお読みください 流れ 1.キーボード操作編 知ってると便利なショートカット。 2.用語・概念編 知ってるとひらめくかも。 3.コマンド編 知っておくべき重要なコマンド、時短になるコマンド。 キーボード操作編 補完機能 Tab連打。 連打すると勝手にlsしてフォルダ内のファイル一覧を教えてくれる。 候補が絞られると勝手に名前を補完してくれる。 入力間違いでもBackspaceやDeleteできない ^H^H^Hや^[[3~、^[[Dが表示されて涙目。 Ctrl + U で入力したものがきれいに消える。 パスワードを

                                                                              【学習メモ】LinuxCUI初心者が早く知りたかったコマンド(操作も) - Qiita
                                                                            • 何もしない組み込みコマンド ":" (コロン)の使い道

                                                                              Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

                                                                                何もしない組み込みコマンド ":" (コロン)の使い道
                                                                              • 個人的なShellTipsをまとめてみた - UNIX的なアレ

                                                                                naoya_itoの火を噴いたシェルtips - Togetter これを読んでふと書きたくなったので。ちなみに僕はbash使っています。 CTRLを使った便利系 まず、UNIXな操作あたり。 キーバインド 意味 CTRL + s キー入力を受け付けなくする 画面出力抑える CTRL + q 上記解除 CTRL + z バックグラウンドに. fgで戻る CTRL + l 画面をクリア。clearと同等 CTRL + c 現在の処理を停止 CTRL + d exitと同等 CTRL + r historyからコマンド検索 emacsっぽいやつ どっちかというとキー操作に近い。基本はemacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。 キーバインド 意味 CTRL + a 行頭 CTRL + e 行末 CTRL + f → CTRL + b ← CTRL

                                                                                  個人的なShellTipsをまとめてみた - UNIX的なアレ
                                                                                • bashで始めるシェルスクリプト基礎の基礎(1/2)

                                                                                  GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基本はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

                                                                                    bashで始めるシェルスクリプト基礎の基礎(1/2)