並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 15 件 / 15件

新着順 人気順

シェルスクリプトの検索結果1 - 15 件 / 15件

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

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

      【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
    • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

      弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

        【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
      • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ

        はじめに 開発部の ikasat です。 皆さんは git, ssh, rsync のような外部コマンドを呼び出すスクリプトを書きたくなったことはありますか? 個人的にこの類のスクリプトは最初はシェルスクリプトとして書くのですが、改修を重ねるうちに肥大化して処理も複雑になり、 後から Python のような汎用プログラミング言語で書き直すことがよくあります。 外部コマンド呼び出しを書き直す際に、Git 操作のために pygit2、 SSH 接続のために paramiko のようなライブラリをわざわざ使うのは大がかりだったり、 rsync に相当するようなこなれたライブラリが存在しなかったりする場合があります。 そのような時は標準ライブラリの subprocess モジュールを利用し、Python から外部コマンドを呼び出すことになるでしょう。 しかしながら、Python のチュートリアルペ

          シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
        • シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表

          JavaScriptランタイムのBunは、新機能としてシェルスクリプトをJavaScriptもしくはTypeScriptで記述し、特定のOSに依存せずに実行できる「Bun Shell」を発表しました。 シェルスクリプトは特定のシェルに依存するもの LinuxやmacOS、WindowsなどのOSは一般に、「シェル」(Shell)と呼ばれる機能を備えています。 シェルはコマンドラインインターフェイスなどのユーザーとの対話機能を備えており、例えばLinuxのコマンドラインで「ls」コマンドを打ち込むとファイルの一覧が返ってくるという動作はシェルが提供しています。 そしてシェルでは一般に、こうしたコマンドを複数つなげた一連の動作をスクリプトとして定義し実行できる「シェルスクリプト」が利用可能です。例えば、次のシェルスクリプトは、「ls」コマンドによるファイルの一覧をファイル「list.txt」に

            シェルスクリプトをJavaScript/TypeScriptで記述、どのOSでも実行できる「Bun Shell」、JavaScriptランタイムのBunが発表
          • シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita

            はじめに シェルスクリプトの世界は今後 10 年で大きく変化します。10 年という数字は切りが良い数字を持ってきただけで根拠はありません。これより長い時間がかかるかもしれませんし、もしかしたら短くなるかもしれません。しかし確実によりよい方向に変わっていくでしょう。Unix/Linux の標準コマンドはさまざまな問題を抱えています。Unix/Linux の標準コマンドに依存している限りシェルスクリプトに大きな改善はありません。これからのシェルスクリプトの世界は Unix/Linux の標準コマンドに依存しない世界です。それがどういうものになるのかをこの記事で解説しています。この記事は私の予言であり目標です。 シェルスクリプトの失われた30年の進化を取り戻す! 残念なことに、シェルスクリプトの世界は 30 年前から大きく変わっていません。それまでの間、プログラミング言語の世界、ソフトウェア開発

              シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
            • 良いシェルスクリプトのためのkillとtrapの基本 ~ シグナル番号は使わない、シグナル名を使う - Qiita

              はじめに kill コマンドと trap コマンドはシェルでシグナルの送信と受信を行うためのコマンドです。このコマンドは意外と適切ではない使われ方をよく見かけます。この記事では kill と trap の基礎知識を解説します。 POSIX準拠のkillコマンドの構文 POSIX で標準化されている kill コマンドの使い方は次のとおりです。POSIX で標準化されているというのは移植性が高い書き方ということを意味しています。シグナル名の指定には -s オプションが必要です。そして signal_name であって signal_number でないことに注意してください。POSIX シェルの世界にシグナル番号という概念はありません。シグナル番号を指定した書き方は避ける方をおすすめします。

                良いシェルスクリプトのためのkillとtrapの基本 ~ シグナル番号は使わない、シグナル名を使う - Qiita
              • Bun でクロスプラットフォームなシェルスクリプト

                Bun でクロスプラットフォームなシェルスクリプト 2024.01.20 Bun の `$` を使うと、クロスプラットフォームなシェルスクリプト(Bun Shell)を書くことができます。Bun Shell は macOS (zsh)、Linux (bash)、および Windows (cmd) と OS の違いを気にせずにシェルスクリプトを書ける、JavaScript オブジェクトとのやりとりが可能であることが特徴です。

                  Bun でクロスプラットフォームなシェルスクリプト
                • リードタイムを測るシェルスクリプトを作ってチームの振り返り会を活発にした話 - Classi開発者ブログ

                  こんにちは。エンジニアのすずまさです。 去年の夏頃にリードタイムの計測を始めてから、振り返りで良い気づきを得られるようになったりリードタイムを減らすアクションが生まれたりと良いことがたくさんあったので、今回はその紹介をしようと思います。 リードタイムの定義 『LeanとDevOpsの科学』では、リードタイムを「コードのコミットから本番稼働までの所要時間」として定義しています。 私たちのチームのリポジトリではブランチ戦略としてGitHub Flowを採用しており、mainへのマージと本番稼働のタイミングが近しいため「PRをopenしてからマージするまでの期間」をリードタイムとして定めて計測しました。 リードタイム計測を始めた動機 私たちのチームでは「チームのスピードがあまり出ていない気がする」という漠然とした課題感がありました。しかし、課題感はありつつも、ではどうするかと言われると具体的なア

                    リードタイムを測るシェルスクリプトを作ってチームの振り返り会を活発にした話 - Classi開発者ブログ
                  • シェルスクリプトの関数で「戻り値」を返す方法、全部まとめ(bash/zshの新機能 関数置換・値置換の使用例) - Qiita

                    シェルスクリプトの関数で「戻り値」を返す方法、全部まとめ(bash/zshの新機能 関数置換・値置換の使用例)ShellScriptBashZshkshmksh はじめに シェルスクリプトのシェル関数の return コマンドは他の言語のような戻り値を返すものではありません。return コマンドで返すものは終了ステータス、つまり 0 から 255 までの数値です。しかし現実には終了ステータス以外の値を返したいというのはよくあります。この記事ではシェル関数から「他の言語でいう戻り値を返す」に相当する方法をすべてまとめました。または次期 bash 5.3/zsh 5.10 で追加される予定の「関数置換 (funsub)」と「値置換 (valsub)」の機能の紹介です。 この記事では現時点で開発中の bash 5.3 と zsh 5.10 に追加される予定の「関数置換」と「値置換」の話を扱って

                      シェルスクリプトの関数で「戻り値」を返す方法、全部まとめ(bash/zshの新機能 関数置換・値置換の使用例) - Qiita
                    • シェルスクリプトの if は3分で簡単にマスターできる - Qiita

                      はじめに シェルスクリプトの if コマンドの使い方は覚えるのがとても簡単です。 if の一番単純な構文 if の一番単純な書き方(elif や else がない場合)は次のとおりです。 fi は if を逆に並べたものです。この文法の発想は歴史をたどると C 言語を含む多くの言語に影響を与えた ALGOL から来ており、Bourne シェルの開発者が ALGOL 68 コンパイラの開発に関わっていた影響です。Bourne シェルとは ash や bash や zsh の祖先のシェルで、今はほとんど使われることのない古いシェルの名前です(2025年1月1日でサポート終了する Solaris 10 を除く)。昔は sh = Bourne シェルという時代がありましたが、今は sh = さまざまな POSIX シェルのどれかです。POSIX シェルとは POSIX で標準化されているシェルの仕

                        シェルスクリプトの if は3分で簡単にマスターできる - Qiita
                      • 最終行に改行がないテキストファイルをシェルスクリプトで上手く扱う方法 - Qiita

                        はじめに 一般的にファイルの最終行に改行がないデータを扱うのは良い考えとは言えません(よくない理由は別記事で書きます)。しかしそれでも扱いたい場合もあります。この記事ではその方法をまとめました。 この記事は シェルスクリプト&PowerShell Advent Calendar 2023 2日目の記事です。 1. read コマンドで改行がないデータを扱う この read コマンドを使った方法は POSIX で標準化された範囲のシェルの機能とコマンドの中では 最終行の末尾に改行がある場合とない場合を正しく区別できるという点で (おそらく)最も自然な形でシェルスクリプトで最終行に改行がないデータを扱う方法です。 改行がないデータとして扱う ときどき read コマンドは終端に改行が無いデータを読み込めないと言われますが、実はそれは正しくありません。データは読み込んでいるのですが最終行の改行が

                          最終行に改行がないテキストファイルをシェルスクリプトで上手く扱う方法 - Qiita
                        • 型安全なシェルスクリプトを書けるプログラミング言語Amberを使ってみた

                          シェルスクリプトを型安全に書きたいと考える人もいると思います。 そういった人におすすめのRust製プログラミング言語Amberを使ってみたので簡単に紹介します。 Write your scripts in a modern type-safe and runtime-safe programming language that handles many bugs and mistakes during compilation process. GitHub Star Historyによると最近一気にGitHubのスター数を獲得したようです。 この記事の内容は現時点(2024/05/19)の以下の公式ドキュメントをベースに、追加でソースコードを調べて試した結果を基に書いています。 Discordで活発に議論が行われており、READMEや公式ドキュメントも頻繁に更新されているようなので、この記

                            型安全なシェルスクリプトを書けるプログラミング言語Amberを使ってみた
                          • シェルスクリプトでURLエンコードをもっと簡単に行う - Qiita

                            はじめに この記事では、シェルスクリプトで URL エンコードをもっと簡単に行う方法について解説しました。手っ取り早く答えを知りたい方はここ をクリックしてください。 シェルスクリプトで URL エンコードの仕方を調べると色々な方法が見つかります。例えばこのようなものです。 $ echo "日本語" | jq -Rr @uri %E6%97%A5%E6%9C%AC%E8%AA%9E $ echo "日本語" | nkf -WwMQ | sed 's/=$//g' | tr = % | tr -d '\n' %E6%97%A5%E6%9C%AC%E8%AA%9E たしかにこれは URL エンコードです。しかし、みなさん、本当にこれで満足しているのでしょうか? 使いやすいでしょうか? 実際に URL エンコードを使っている場面を思い出してみてください。 URL エンコードだけでは実用的ではない

                              シェルスクリプトでURLエンコードをもっと簡単に行う - Qiita
                            • JavaScriptでシェルスクリプトを書ける「ZX 8.0.0」

                              ZX開発チームは現地時間2024年4月6日、ZX 8.0.0をリリースした。ZXはJavaScriptベースのシェルスクリプト。bashよりも効率的なシェルコマンドやシェルスクリプトを実行できる。本バージョンは安全性と安定性を向上させているが、標準出力設定を扱う「$.verbose」「$.quite」の動作変更やSSH APIの廃止、PowerShell使用時の指定変更など、大きな変更が加わった。なお、現地時間4月8日にオプション追加など改良を加えたバージョン8.0.1もリリースしている。 ZXの公式サイト ZXは当初Googleの開発メンバーが多く関与していたが、現在はAnton Medvedev氏が中心となって、開発が進められている。Node.js環境を構築するよりも容易にJavaScriptを実行できるため、bashのシェルスクリプトに不慣れな方は、日常的に開発で用いるJavaScr

                                JavaScriptでシェルスクリプトを書ける「ZX 8.0.0」
                              • シェルスクリプトが速くなる! forkしない新しいコマンド置換がやってくる!(次期bash/zshの新機能) - Qiita

                                シェルスクリプトが速くなる! forkしない新しいコマンド置換がやってくる!(次期bash/zshの新機能)ShellScriptBashZshkshmksh はじめに シェルスクリプトを遅くする大きな原因は fork と exec です。この二つは OS のインターフェースである fork() 関数と exec() 関数のことで、シェルスクリプトからは、外部コマンドやバックグラウンドプロセスの実行、明示的なサブシェル (...)やコマンド置換 ret=$(...)、パイプの使用などで呼び出されます。 シェル関数はシェルの中で実行される関数であるため、単純にシェル関数を呼び出す場合には fork も exec も行われません。しかしシェル関数の出力を変数に代入しようとコマンド置換(var=$(func))を使うと、exec は行われませんが fork は行われてしまいます。その事に気づかず

                                  シェルスクリプトが速くなる! forkしない新しいコマンド置換がやってくる!(次期bash/zshの新機能) - Qiita
                                1