並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 379件

新着順 人気順

Bashの検索結果121 - 160 件 / 379件

  • バージョン管理初心者のためのGit入門 - MyEnigma

    Gitが、おもしろいほどわかる基本の使い方33 改訂新版〈バージョン管理、GUI、Sourcetree、Bitbucket〉 目次 目次 はじめに gitコマンド git clone git clone --recursive URL git clone --depth 1 URL git init git init --bare --share git status git commit git commit -a git commit --amend "new message" git commit -v git commit -m "bug fix" git log git log -- pretty=short git log file_name git log -p git log --graph git diff git diff <ブランチ名> <ブランチ名> git bra

      バージョン管理初心者のためのGit入門 - MyEnigma
    • 高度なコマンドインジェクション攻撃とその対策

      はじめに ScutumはフルマネージドなWAFサービスなので、利用しているユーザさんが気づかない間にどんどん変化し、防御能力を強化しています。これらの強化された点について、これまではあまり宣伝や周知を行っていなかったのですが、今後は少しずつ、このブログでお知らせしていこうと思っています。 防御を強化しているポイントはマニアックな細かなものから重要なものまで多岐に渡ります。今回紹介するのは、我々としてはかなりインパクトがあると考えているものです。 2019年の秋に、コマンドインジェクションに対する防御能力を強化しました。コマンドインジェクションといっても普通のものではなく、比較的最近になって知られるようになった、「WAFを回避する」種類のコマンドインジェクションです。 WAFを回避するコマンドインジェクション 攻撃者とWAFの間では互いに「見つからないように」「見逃さないように」というイタチ

        高度なコマンドインジェクション攻撃とその対策
      • PowerShell「全員が全員 /bin/bash だと思うなよ」 - ちょっと株式会社 社員ブログ

        はじめまして.ちょっと株式会社で技術顧問をしています,池口といいます.普段は別の会社で働きつつ,副業という形で参画させていただいております.ブログもたまに書こうかと思っておりますので,よろしくお願いします. そもそもシェルとは?さて,みなさんがお使いのシェルは何でしょうか.シェルは, OS の機能を呼び出したり別のアプリケーションを呼び出したりするためのコマンド言語インタプリタです[1] .具体的には bash や fish , zsh などが挙げられます.macOS の場合,既定のシェルは zsh です.これをそのまま使っているという方も多いでしょう.GNU/Linux の場合はほとんどのディストリビューションで bash が採用されています. bash や zsh は POSIX 互換モードを持っている[2] [3] こともあってか幅広く使われています. しかし,これらのシェルはとても

          PowerShell「全員が全員 /bin/bash だと思うなよ」 - ちょっと株式会社 社員ブログ
        • シェルスクリプトでスクリプトの引数をループする方法

          B! 63 0 0 0 今更ながら知ったこと。 通常の方法 in無し The for Loop (POSIX Shell Command Language) ;の省略 man bash その他の方法 参考 通常の方法 bashとかでよくやる方法は arg1.sh 1 2 3 4 5 #!/usr/bin/env bash for arg in "$@";do echo "$arg" done とする方法。 "$@"はスクリプトの引数を展開し、ダブルクォートしてあると 引数毎に分けてダブルクォートした状態で展開します。 1 2 3 4 $ ./arg1.sh a b c a b c "$*"とすると同じく展開しますがダブルクォートが全体について for文で回すと1つの引数として扱われます。 大概のシェルで同様の動作をします。 これは関数の引数も同じで、 arg2.sh 1 2 3 4 5 6

            シェルスクリプトでスクリプトの引数をループする方法
          • 良いシェルスクリプトのためのkillとtrapの基本 ~ シグナル番号は使わない、シグナル名を使う - Qiita

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

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

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

                シェルとUNIXコマンドの未来 ~ これからの10年で起きるシェルスクリプトの変化 - Qiita
              • シェルスクリプトの代替

                要約:決定版はとくにない。 kzys氏のシェルスクリプトを書かないという記事は面白かった。 https://blog.8-p.info/ja/2021/09/15/bash/ シェルスクリプト、ごくたまに書くことはあるが、ほんともう細かい話とかはすべて忘れているし、覚える価値を感じない。いまさら覚える必要のない技術だなと感じる。が、その一方でなかなか代替品がないようなニッチでもある。 自分は必要に応じてPythonかRubyか、といったあたりを使うことが多いが(perlはもう書けなくなった)、なかなかこれという感じには思い至らない。なにがいいんだろうね?という。 前提条件:インタラクティブな環境(REPL)はなくてもいい。そこはもう既存のシェルでいい。自動化したシェルスクリプト的なタスク記述を目標とする。bashの置き換えという意味では「どこにでもインストールされていることを前提にしないと

                  シェルスクリプトの代替
                • 少女に何が起ったか ~少女が他人のウェブサーバー構成を知るまでにやったいくつかのこと、そしてその結末~ - Techtouch Developers Blog

                  ※これは テックタッチ Advent Calendar 2020 の記事です。昨日は zak による AWS MFAを一撃で認証するCLIコマンド作ってみた でした。 はじまり 少女はあるウェブサイトを見ていました。それが特に気になったわけではありませんでした。 少女が使っていたコンピューターは、カッコいい龍が印象的でした。このオペレーティングシステムが「Kali Linux」というらしいことがわかりました。 nmap それは本当に単なる気まぐれだったのですが、少女は一つのコマンドを実行してみました。 通常、このコマンドは、対象コンピューターの管理者との合意のもと、限られた環境下でのみ実行が許されるもので、見知らぬ相手のコンピューターに向かって実行してはならないことを、少女はまだ知りませんでした。 sudo nmap -sS -A 10.0.2.15 どうやらこのコンピューターは 22 番

                    少女に何が起ったか ~少女が他人のウェブサーバー構成を知るまでにやったいくつかのこと、そしてその結末~ - Techtouch Developers Blog
                  • Batsを使ったシェルスクリプトのテスト

                    B! 58 0 0 0 (Bashの)シェルスクリプトに関してテストを導入するために フレームワークとしてBatsを導入します。 bats batsの使い方 assertion シェルスクリプトでなくても使える bats シェルスクリプトのテストツールとして恐らく一番有名なツール。 オリジナルはこちら。 こちらは4年くらい前に更新が止まっていますが、 個人でメンテナンスを続けていくことが難しくなったときに みんなで続けていこうとして使われる様になったのが 以下のレポジトリ。 batsというアカウントはすでに他に取られていたのでこういう名前になった模様。 Call for Maintainers · Issue #150 · sstephenson/bats Information about community-maintained fork · Issue #236 · sstephen

                      Batsを使ったシェルスクリプトのテスト
                    • 雑務をこなすうちにLinuxに習熟できるかも!? シェル・ワンライナーをお勧めする理由:新刊ピックアップ

                      コンピュータは便利ですが,それでも手間のかかる作業は多々あります。とくにGUI(グラフィカルユーザーインターフェース)のソフトウェアで次のような作業をやらないといけないとしたら,面倒そうだと思いませんか? 複数のファイルのファイル名を一括で変更する 大量の画像ファイルの中から全く同じ画像のファイルを探す 複数のファイルに記録されている数ヵ月にわたるログから特定の期間の情報だけを抽出する これらの作業をするには,ファイラー(Windowsのエクスプローラーなど)やエディタだけでは限界があります。専用ソフトをいくつか使ったり,単純な手作業を繰り返したりして作業することになります。 その点,シェルやスクリプト言語を使えば細かな条件をプログラミングすればどんな作業でも片付けられます。また,ターミナルのCLI(コマンドラインインターフェース)上では,コードを書いてそのまま実行できるため,たいへんお手

                        雑務をこなすうちにLinuxに習熟できるかも!? シェル・ワンライナーをお勧めする理由:新刊ピックアップ
                      • スクリプト言語としてみた各POSIXシェルの特徴と互換性上の注意点まとめ - Qiita

                        はじめに この記事は私の主観かつ知っていることをまとめたものです。古くからのシェルの専門家とかではなくここ数年の間に必要になった時にその都度調べたものなので間違いとかもあると思います。またタイトルの通りスクリプト言語としての比較です。つまりインタラクティブシェルの機能についての比較はしていません。(そもそも使い込んでるわけじゃないので知らないです。)POSIX シェルに限定しているのも私が他のシェルを詳しく知らないからです。もし今も使われていて(もしくは開発中で)ここに書かれていない POSIX シェルがありましたらコメントで教えて下さい。(※ csh, tcsh, fish は POSIX シェルではありません。) シェルの系統は少し古いですが「What does it mean to be “sh compatible”?」に投稿されている図が詳しくてわかりやすいです。またこちら「~s

                          スクリプト言語としてみた各POSIXシェルの特徴と互換性上の注意点まとめ - Qiita
                        • Bash Uploader Security Update - Codecov

                          Update 4/29/2021 3PM PT: Through our investigation, we now have additional information concerning what environment variables may have been obtained without authorization and how they may have been used. Affected users can view details within the Codecov application. Additionally, we have posted our most up-to-date set of IOCs below. Note: If you are in the affected user group, at 6 am PT, Thursday

                            Bash Uploader Security Update - Codecov
                          • 仕組みと一緒に作りながら学ぶシェル - Qiita

                            はじめに みなさん、シェルについてご存じでしょうか?bashやzshなどエンジニアであれば誰もが触ったことのあるであろうターミナルから使用することのできるあれです。もちろん知ってるよという人もいると思いますが、意外とその仕組みまで知った上で使用している人は少ないのではないでしょうか?(自分もそのうちの一人です、、、) そこで!この記事では、シェルの全体像と仕組みについて解説してみたいと思います。また、最後に仕組みをなぞった上で簡単なシェルの実装を行ってみたので、この機会に改めてエンジニアの身近にあるシェルについて理解を一緒に深めていきましょう。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルとは? シェルとはオペ

                              仕組みと一緒に作りながら学ぶシェル - Qiita
                            • echoコマンドの移植性が低い歴史的理由とPOSIXの改定方針 ~ 次期POSIXでbashのechoはPOSIX準拠になる! - Qiita

                              echoコマンドの移植性が低い歴史的理由とPOSIXの改定方針 ~ 次期POSIXでbashのechoはPOSIX準拠になる! はじめに 実は bash に組み込まれた echo コマンドは POSIX に準拠していません。しかし 2023 年に予定されている次期 POSIX (Issue 8) の改定で、POSIX 準拠の動作になります。🎉🎉🎉 私のこの言い方には違和感を感じるかもしれません。「POSIX に違反している bash が問題点を修正して、POSIX に準拠させるのではないのか?」と。いいえ違います。POSIX 側が仕様を修正することで、bash は何も変更せずに過去のバージョンも含めて POSIX に準拠するようになります。面白いですね。 この記事は echo コマンドの移植性の問題の歴史を振り返りながら、それを例に POSIX 標準化団体がどのような方針で標準規格を

                                echoコマンドの移植性が低い歴史的理由とPOSIXの改定方針 ~ 次期POSIXでbashのechoはPOSIX準拠になる! - Qiita
                              • シェルスクリプトで変数に改行文字を入れる方法の細かすぎる解説 - Qiita

                                すべての POSIX シェルで使用可能なので私はこれを推奨します。シェルスクリプトの改行コードは Windows の CR+LF ではなく LF を使用している前提です。いくつかの環境ではシェルスクリプトの改行コードに CR+LF を使用していても動くようなのですが(未調査)、遅かれ早かれ問題になるはずです。また需要は少ないと思いますが、POSIX シェル以前の Bourne シェルでも使える(おそらく)唯一の方法です。Solaris 10 などの古い環境にも対応させるのであればこの方法しかありません。 メリットはコードの量が最も少なく最も速いということです。デメリットは 2 行になるため少し不格好でインデントをする場合に困るだけですが、インデントに関してはこのような定数はスクリプトの上部の関数の外で定義するので通常は問題にならないはずです。 LF=$'\n' bash、ksh、mksh、

                                  シェルスクリプトで変数に改行文字を入れる方法の細かすぎる解説 - Qiita
                                • 生きているのならシェルスクリプトにだってなってみせる、そうPerlならね - Sexually Knowing

                                  シェルスクリプトを書くのをやめる - blog.8-p.info これを見て: 夢の可能性が高くなってきたんですが、Perlのプラグマかなにかで、シェルスクリプトと混在できる……というか、存在しないサブルーチン呼び出しを外部コマンド呼び出しにするやつありませんでしたっけ— aereal / 青木華絵 (@aereal) 2021年9月16日 まじだ... https://t.co/IF6SyBR4o8— Kazuyoshi Kato (@kzys) 2021年9月16日 Shell - run shell commands transparently within perl - metacpan.org use Shell qw(cat ps cp); $passwd = cat('</etc/passwd'); @pslines = ps('-ww'), cp("/etc/passwd"

                                    生きているのならシェルスクリプトにだってなってみせる、そうPerlならね - Sexually Knowing
                                  • Microsoft、各種シェルに600を超えるコマンド補完を掲げる「inshellisense」

                                    Windows、Linux、MacOS各OSでのbash、zsh、fish、pwsh、powershell(Windows Powershell)にIDEライクなコマンド補完機能を提供するOSS「inshellisense」0.0.1-rc.1がMicrosoft公式GitHubでこのほど公開された。MITライセンスで提供されている。 パッケージ管理ツールnpmを通じて下記のコマンドでインストールできる。 npm install -g @microsoft/inshellisense inshellisense --shell で起動できるのでPowershellで試したところ inshellisense --shell pwsh 入力を促すプロンプトが起動し、コマンドを入力すると選択候補や英語での概説が表示され矢印キーで選択し、Tabで決定。Ctrl+Dで抜けられるようになっている。"6

                                      Microsoft、各種シェルに600を超えるコマンド補完を掲げる「inshellisense」
                                    • ShellでSeleniumを作る ~Shellnium~ - Qiita

                                      はじめに この記事はQiita夏祭り2020のイベントの1つ、パソナテックさんが開催している「〇〇(言語)のみを使って、今△△(アプリ)を作るとしたら」のテーマで投稿しています。 いやぁ良いお題ですよね。エンジニア心揺さぶられるし、景品も豪華だし、何よりちょっとワクワクしたので参加させていただきました。 今回は「ShellでSeleniumを作る ~Shellnium~」というお題でやっていきます。下記はShellniumで遊んでいるGIFです。 ブラウザの自動操作の模様をiTermの背景として鑑賞することができます。意味不明さがすごいですね。(透明度をいじってるとかではありません) いろんな言語でSeleniumは扱える Seleniumは皆さん御存知の通り、ブラウザの自動操作をするツールですね。 SeleniumはWebDriverを介してブラウザの自動操作を行っていくもので、php,

                                        ShellでSeleniumを作る ~Shellnium~ - Qiita
                                      • shellでパスワードプロンプトの入力を間違えたらControl-uする理由 - yujioramaの日記

                                        追記(2022/03/20) Linux限定だし概要レベルだけど包括的なドキュメントがあった。 2. Keyboard generalities キー入力したときに起きていることを説明している。 キーボードコントローラはキーボードドライバにスキャンコードを送信する (スキャンコードモードの)キーボードドライバはアプリケーションプログラムにスキャンコードを送信する (キーコードモードの)キーボードドライバはキー押下、キー離上それぞれのスキャンコードをキーコードに変換し、アプリケーションプログラムに送信する (それ以外の)キーボードドライバはキーコードでキーマップを辞書引きして、発見した文字列(エスケープシーケンスの場合もある)をアプリケーションプログラムに送信する 「アプリケーションプログラムに送信する」は、実際には「端末ドライバに送信する」に相当する。 (端末ドライバ=sttyなのかな)

                                          shellでパスワードプロンプトの入力を間違えたらControl-uする理由 - yujioramaの日記
                                        • GitHub Actions で学ぶシェル芸

                                          GitHub Actions は run でシェルを実行していくのが基本です。 シェルに詳しければサードパーティアクションを使わなくて済んだり[1]、複雑なロジックを組まずに済んだりするので、改めてシェルを学ぶきっかけにいいのではないかと思いました。 ネタ募集。 脚注 サードパーティアクションを使用するとセキュリティへの配慮が必要だったり、 Enterprise だと GitHub Connect の設定をしたり actions-sync したりしないといけなかったりするので意外と面倒です ↩︎

                                            GitHub Actions で学ぶシェル芸
                                          • Deno + TypeScriptでzshプラグインを実装して最高になった

                                            概要 今回作ったプラグインは yuki-yano/zeno.zsh です。 昔 yuki-yano/fzf-preview.zsh というものを作っていたのですが、シェルスクリプトでの実装と保守が厳しすぎて放置しており、それをDenoで再実装したものになります。 zshで頻繁に使う機能の拡張を実装しており、zshの操作体験を改善できると思います。 まずはデモを見てみてください。 具体的なプラグインの機能としては以下があります。 abbrevを用いたsnippetの展開 ファジーファインダー(fzf)を用いた補完 fzfを用いたsnippetの挿入 その他いくつかの便利utility Denoを採用した理由はいくつかあるのですが、それについては後述します。 デモ Abbrev snippet Fuzzy completion zeno.zshの主要機能 Abbrev snippet zshで

                                              Deno + TypeScriptでzshプラグインを実装して最高になった
                                            • bashとzshの違い。bashからの乗り換えで気をつけるべき16の事柄

                                              bashからzshに乗り換えるユーザーを対象に16の違いをまとめました。MacOSもbashからzshに変更になりましたので、zshを使い始めるにあたってのポイントを解説していきます。 はじめに zshとは? 2019年、WWDC19の基調講演でApple社は次にリリースする「MacOS X Catalina」より標準のシェルを「zsh」に変更すると発表しました。そして現在、Macを購入したり最新のバージョンにアップデートしてターミナルを開くとbashではなくzshが起動します。 もともとMacOS Xは当初tcshであったのがv10.3 Pantherよりbashに変更された経緯があり今回それがzshにさらに変更された形になります。 こうなった経緯としてはbashのライセンスとセキュリティによる事情があります。MacOS Mojaveまでに搭載されているbashはバージョンが3で実はこれ

                                                bashとzshの違い。bashからの乗り換えで気をつけるべき16の事柄
                                              • GitHub - charmbracelet/gum: A tool for glamorous shell scripts 🎀

                                                You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                  GitHub - charmbracelet/gum: A tool for glamorous shell scripts 🎀
                                                • shellスクリプトで学ぼう!プログラミングがちょっと上手になる(かも)Tips集!! | DevelopersIO

                                                  こんにちは(U・ω・U) AWS事業部の深澤です。 さて皆さん、いざプログラミングをしようとしてもなかなかテストがしにくいとか、良い書き方ないかな〜って感じたりしませんか?出来上がったソースコードを数ヶ月後の自分が読んでみて、「あれ?この処理って何してるんだっけ??」って思うのもよくあることです。また中には実際にスクリプトをbatch処理で使おうとしているけど、どんな風に書いたら良いか悩んでいる方とかいらっしゃるのではないでしょうか。今回は僕が運用の中で学んだ「こう書くと良いんじゃない」というTipsを書いて見ました!今回はshellスクリプトを採用しています。 環境 Amazon Linux 2 AMI (HVM), SSD Volume Type カーネル 4.14.173-137.229.amzn2.x86_64 Bashバージョン GNU bash, version 4.2.46(

                                                    shellスクリプトで学ぼう!プログラミングがちょっと上手になる(かも)Tips集!! | DevelopersIO
                                                  • set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream

                                                    課題編 シェルスクリプトで「あるグローバルな状態を変える操作を行い、その結果をチェックし、状態をもとに戻す」みたいなタスクをするときに「その結果をチェックし」のところでコマンドの終了ステータスを変数に入れて置きたいみたいなことがあります。例えば、次のようなコマンド操作です。 set -e # グローバルな状態を変える操作を行う git merge --no-ff --no-commit $main_branch || true # 結果をチェックしてexit codeを変数に入れる git diff --cached --exit-code --quiet ; code=$? # グローバルな状態をもとに戻す git merge --abort # 上位プロセスに結果を渡す exit $code スクリプト全体には set -e (コマンドが失敗するとシェルスクリプトが即座に終了する)を効

                                                      set -eのもとで特定のコマンドの終了ステータスを変数に入れるシェルスクリプトのスニペット - Islands in the byte stream
                                                    • WSL 上で macOS の open コマンドのような挙動 - A Day in the Life

                                                      alias open="pwsh.exe /c start" pwsh.exe を入れてない人は alias open="powershell.exe /c start" すると、open foobar がいい感じに開かれる。 # explorer が開く open . # デフォルトブラウザが開く open https://example.com/ # jpg に関連付けられているビュアーで開かれる open ./foo.jpg

                                                      • POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita

                                                        重要 2022-01-30 追記 この記事で解説していた警告の出力は 2022-01-21 に取り消されました(参照 Revert deprecation of which)。そのため Debian which が GNU which に変わることは(少なくとも近い未来では)ないと思います。しかしながら which を使うよりは POSIX で規定されている command と type を使う方を推奨します。 はじめに which コマンドはシステムにインストールされてるとは限りません。実際に最小構成でインストールされてない環境として CentOS があります。一方 command -v は POSIX 規定されているので POSIX に準拠したどのシェルでも問題なく使えます。シェル上では which コマンドを使っても良いと思いますが、シェルスクリプトでは command -v を使う

                                                          POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita
                                                        • Linuxのプロセスのコマンドライン引数についていろいろ

                                                          2022/10/16 以下ご指摘をもとに内容を修正および追記 https://zenn.dev/link/comments/463223a4de9ec2 はじめに Linux上でコマンドを実行したときのコマンドライン引数についてつらつら書きたくなったので書きます。 プロセスのコマンドライン引数とは、たとえばfoo bar bazというコマンドを実行したら、通常はコマンドライン引数はfoo、bar、およびbazになります。直観的には引数は”bar”と"baz"だけのようにおもえるかもしれませんが、とにかくこういう定義です。 コマンドライン引数はプログラムの中からはCやC++ではmain関数のargv配列引数から参照できます。上述の例であればargv[0]には実行ファイル名が入ります。それ以降の"bar"はargv[1]に、"baz"はargv[2]に入っています。argvに相当する変数はシェ

                                                            Linuxのプロセスのコマンドライン引数についていろいろ
                                                          • systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ

                                                            普段はsystemd経由で実行しているコマンドをCLIから実行したい、環境変数もsystemd経由で起動するときと同様にセットしたいのでenvfile(EnvironmentFile)をそのまま使いたいんだけどなんか微妙にやりにくくないか、と思って何度か調べたことがあるんだけど、あんまりうまい方法が検索結果に出てこない。 んだけど、あれ、これ簡単じゃん。(追記: これはごく単純なケースでしか動かなかった、後段参照) $ env $(cat myenvfile | grep -v '^#') target-commandenvfileをシェルスクリプトとして実行して追加された変数をなんとかexportすれば……みたいに考えてたけどenvコマンドで一発だった。変なコメントとか入ってると厄介だけど、こんな感じでいいのでは。ということでメモ。 空白を含む値の処理 まあいいやとスルーしてたけど値が空

                                                              systemdのenvfileを普通のコマンド実行時に流用する - たごもりすメモ
                                                            • styleguide

                                                              Background Which Shell to Use Bash is the only shell scripting language permitted for executables. Executables must start with #!/bin/bash and a minimum number of flags. Use set to set shell options so that calling your script as bash script_name does not break its functionality. Restricting all executable shell scripts to bash gives us a consistent shell language that’s installed on all our machi

                                                              • Next.js のローカル開発時に https を使う

                                                                この記事は YAMAP エンジニア Advent Calendar 2020 の 10日目の記事となります。 はじめに 弊社のプロダクトの中のひとつに Next.js フレームワーク(以下 Next.js)を用いて実装しているプロダクトがあります。 このプロダクトで SNS 認証を実装する際、ローカル開発時に HTTPS を使いたかったため、これを調査しました。 本記事ではこの Next.js のローカル開発時に HTTPS + localhost、つまり https://localhost:3000(port はなんでもよい)で開発をするための Tips を紹介いたします。 環境 Mac OS 10.15.7 Catalina 本題 Certificates を生成する 下記のコマンドをターミナルに貼り付けてエンターキーを押します。 openssl req -x509 -out loca

                                                                  Next.js のローカル開発時に https を使う
                                                                • Windows 10で使えるようになった「Bash」 「PowerShell」との違いは?

                                                                  関連キーワード Windows 10 | Windows | Linux | Microsoft(マイクロソフト) Microsoftは2016年、LinuxベンダーCanonicalとの協力により、LinuxなどUNIX系OSのシェル「Bash」をWindowsに移植した。WindowsでBashを使えるようになったことで、開発者やインフラエンジニアがLinux向けに開発するコードをWindowsでも使用できるようになった。 Windowsで、BashをはじめとするLinuxの機能を利用可能にする仕組みが「Windows Subsystem for Linux」(WSL)だ。WSLはUNIXやLinuxと同様に使用でき、通信路暗号化プロトコルのSSHを利用した接続も実現する。 WSLは登場時から改良が進み、必要に応じて複数のLinuxディストリビューションを簡単にインストールできるように

                                                                    Windows 10で使えるようになった「Bash」 「PowerShell」との違いは?
                                                                  • Node 系ツールのプロジェクト間のバージョン管理に Volta を使い始めてみた

                                                                    プロジェクト間で必要とされる node.js のバージョンが違うことはままあり、そのために皆さん nvm や nodebrew などのツールを使っておられることだろうと思います。 今回それ系統で Volta というツールを知ったので紹介いたします。 Volta - The Hassle-Free JavaScript Tool Manager Volta の特徴 セットアップが比較的簡単 Rust製で速いらしい 実行する node のバージョンなどをプロジェクトのディレクトリに入るだけで自動で切り替えてくれる npm や yarn でグローバルインストールした時も、どのディレクトリでインストールされたかを自動で記録するため、コマンドラインから直接コマンドを実行できつつもプロジェクト毎に違うバージョンを使うことができる node だけでなく npm や yarn もプロジェクト毎に固定できる

                                                                      Node 系ツールのプロジェクト間のバージョン管理に Volta を使い始めてみた
                                                                    • 環境変数 PATH に空文字があるとカレントディレクトリが指定されているのと同じ意味になる

                                                                      何だと!? タイトルのまんま。 恥ずかしながらこれ今まで知らなかった。 もしかして常識だったりする? ちなみに確認したのは Linux だけど、glibc の posix サブディレクトリ配下の execl*execvpe の挙動なので glibc 使ってればみんな一緒じゃないかな?知らんけど… 環境変数 PATH が設定されていない時 unset PATH とした状態。 この場合、PATH=/bin:/usr/bin と設定されているのと同じ意味になる(追記も参照のこと)。 当然カレントディレクトリは含まれていない。 環境変数 PATH が空の時 PATH= とした状態。 「PATH 環境変数が設定されていない時」とは異なる事に注意。 この場合、PATH=. と設定されているのと同じ意味になる。 つまり、カレントディレクトリが含まれている。 環境変数 PATH の最後が : で終わってい

                                                                        環境変数 PATH に空文字があるとカレントディレクトリが指定されているのと同じ意味になる
                                                                      • WSLでopenコマンドを用意する

                                                                        function open() { if [ $# != 1 ]; then explorer.exe . else if [ -e $1 ]; then cmd.exe /c start $(wslpath -w $1) 2> /dev/null else echo "open: $1 : No such file or directory" fi fi } zshでしか試していないが、たぶんbashでも似たような感じでいけると思う。 エクスプローラによるopen Macのターミナルでは、open filenameとすると、そのファイルを関連付けられたアプリで開くことができる。また、open .などとするとFinderでカレントディレクトリが開いて便利だ。 WindowsのWSLで似たようなことがしたくて、

                                                                          WSLでopenコマンドを用意する
                                                                        • シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita

                                                                          シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応ShellScriptBash国際化GettextPOSIX はじめに POSIX 準拠でどの環境でも動くシェルスクリプト用の国際化ライブラリ sh-i18n を作りました。同様のライブラリとしては GNU gettext に含まれている gettext.sh が有名です。すでにライブラリがあるのになぜ作ったのかと言えば、gettext.sh は基本的に GNU gettext 専用で、書きづらく単一の書き方でどのシェルどの環境でも動くわけではなかったからです。一言で言えばすべての環境で動く完璧なシェルスクリプト用の国際化ライブラリを作りたかったのです。 ちなみにすべての環境で動くというのはおそらく嘘です。動かない環境は今のところ認知していません

                                                                            シェルスクリプト用の国際化ライブラリの決定版! sh-i18n を作りました ~ gettext.sh 代替・すべてのPOSIXシェルと環境に対応 - Qiita
                                                                          • Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law

                                                                            こんばんは、id:maku693です。 タイトルでほぼ全部説明しましたが、Github Actionsでちょっとハマりました。 Github Actionsのワークフローでは工夫しないとyesコマンドを使えないので、代わりにecho yを使うと手っ取り早いです。 これに気づいたのは、[y/N]どちらかの入力を待つことで処理を続行していいか聞いてくるプログラムをワークフロー中で使いたかったので、yesコマンドを使ってyを入力させようとしたところ、yes: standard output: Broken pipeというエラーが出て正常にワークフローが終了しなかったためです。 手元 (macOS) で実行してもエラーにならないので不思議に思って調べてみると、bashにpipefailオプションが指定されている*1のと、yesコマンドがSIGPIPEを受け取って終了する前提で使われているのが原因で

                                                                              Github Actionsでyesコマンドを使いたい時は代わりにecho yするといい - The Third Law
                                                                            • シェルのバックグラウンド実行って後だしできるって知ってました? - Qiita

                                                                              この前までの私のちょっと時間のかかるバッチ実行の日常 「よっしゃー、今日はバッチ処理やるで!」と気合い入れて、タタタタッターン(bash xxxx.sh + Enter)。 おっと、またやらかしたわ。コマンドの末尾に&つけんの忘れたら、プロセスがフォアグラウンドで動いてまうねん。 これやと、ターミナルがこのタスクに独り占めされてまうわ。 この状況をどうにかするには、Ctrl+Cでプロセスを止めてからやり直すか、それとも別のターミナルウィンドウを開くしかないねん。めっちゃ面倒くさいなあ。 今後の私のちょっと時間のかかるバッチ実行の日常 「さて、本日はバッチ処理の実施日でございますね」と心に留めました。 タッタタタッターン。 あら、不覚にも再び&を添え忘れてしまい、結果としてフォアグラウンドでの実行を余儀なくされました。 しかし、ご心配なく。 まずは、Ctrl+Zを駆使してプロセスを一時停止い

                                                                                シェルのバックグラウンド実行って後だしできるって知ってました? - Qiita
                                                                              • はじめての自作ターミナル(macOS編)

                                                                                はじめに 道具を自作したい、それは人類の根源的な欲求の一つです。もちろんターミナルエミュレータも例外ではありません。この記事ではiTerm2的なターミナルエミュレーターのアプリ(以降はターミナルと省略)の作り方を説明します。 完成したターミナル この記事は前提知識なしで読み進められるように考慮しています。安心して読み進めてください。そして、この記事を読み終える頃には上のgif画像のようなターミナルが自作できるようになります。すでに擬似端末についての知識があり、実装手順のみ知りたい場合は「SwiftUIによるアプリの実装」まで読み飛ばしてください。 ※私は視覚に障害があるためVoiceOverを利用しています。上記のgif画像には画面の左下に音声読み上げのキャプションパネルが映り込んでいるかと思います。その点は気にしないでください。 擬似端末(pseudo terminal)について まずは

                                                                                  はじめての自作ターミナル(macOS編)
                                                                                • 2020年5月20日 リモート接続でいつものシェルを! ssh越しでポータブルなシェル環境を実現する「xxh」 | gihyo.jp

                                                                                  Linux Daily Topics 2020年5月20日リモート接続でいつものシェルを! ssh越しでポータブルなシェル環境を実現する「xxh」 リモートからホストにsshで接続する際、bashやzshなどいつも使っているシェルで操作したいというニーズを受けて、この5月から開発がスタートしたプロジェクトに「xxh」がある。ライセンスはBSD Licenseで、Python 3で開発されており、Linux(x86_64)上で動作する。なお開発者の名前も「xxh」とされている。 xxh/xxh : 🚀 Bring your favorite shell wherever you go through the ssh -GitHub xxhの原理はごくシンプルで、ホストに対し、ポータブルで密閉されたシェル環境をアップロードし、リモートマシンからssh越しで利用可能にするというもの。rootア

                                                                                    2020年5月20日 リモート接続でいつものシェルを! ssh越しでポータブルなシェル環境を実現する「xxh」 | gihyo.jp

                                                                                  新着記事