並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 510件

新着順 人気順

shの検索結果201 - 240 件 / 510件

  • 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

      • 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のプロセスのコマンドライン引数についていろいろ
        • 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コマンドを用意する
                  • 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
                    • はじめての自作ターミナル(macOS編)

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

                        はじめての自作ターミナル(macOS編)
                      • シェルスクリプト用の国際化ライブラリの決定版! 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
                        • どこからでも実行できるシェルスクリプトの正しい書き方 ~ 冒頭でディレクトリを移動するな! - Qiita

                          はじめに どこからでもシェルスクリプトを実行できるようにと、冒頭でカレントディレクトリを移動するコードをベストプラクティスかのように書いてある記事がいくつかありますが、それは違います。例えば以下のようなコードは良くないコードです。 # スクリプトのある場所にカレントディレクトリを移動してはいけない cd "$(dirname "$0")" # 上記のやたらと面倒な書き方 WORKDIR=$(cd "$(dirname "$0")" && pwd) cd "$WORKDIR" 絶対に書いたらだめなのか?と聞かれるなら、理由をわかった上で「手抜きとして」なら書いても良いと思いますが、ベストプラクティスではありません。 補足 上記のコードは問題点を示すサンプルコードです。他にも cd が失敗した場合などの別の問題がありますが、この記事の内容とは無関係なので意図的に省略しています。私は set -

                            どこからでも実行できるシェルスクリプトの正しい書き方 ~ 冒頭でディレクトリを移動するな! - Qiita
                          • 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
                            • Gitコマンドを快適に使う環境を整える | DevelopersIO

                              こんにちは、CX事業本部の岡です。 みなさんGitクライアント何使ってますか? SouthTree?GitUp?Github Desktop? GUIクライアントももちろん素晴らしいですが、CUIクライアントの方がなんだかんだ使いやすかったりしますよね。 今日はGitコマンドを快適に使う為の設定方法をご紹介します。 認証設定 プロジェクトによってGitHubを使ったりCodeCommitを使ったりするので credential の設定はlocalで管理するようにします。 GitHub GitHubにHTTPS経由でアクセスする場合、毎回認証情報を求められるので osxkeychain を使って 認証情報を記憶させます。 brewでgitをインストールしている場合は標準で入っていると思います。 $ git config --local credential.helper osxkeychai

                                Gitコマンドを快適に使う環境を整える | DevelopersIO
                              • シェルスクリプトの後ろにバイナリを埋め込む手法はPOSIXで考慮されているという話 - Qiita

                                思いっきり雑学レベルの話ですみませんが、思い出した今書かないと忘れそうだなと思ったのでw この手法で何が出来るかと言うと、シェルスクリプトを実行するとスクリプトファイルの後ろ(exit で終了されて実行されない領域)に結合されたバイナリ形式の圧縮ファイル部分を抜き出して /tmp 以下に展開してそこに含まれているバイナリ形式の実行ファイルを実行して、一見シェルスクリプトのように見えるのに実はバイナリファイルを実行してるじゃんなどという楽しいことができます。いかにもハックまがいの手法に見えますが、どうやらこの手法は POSIX で考慮されているようです。 これを知ったのは「シバン shebang がないシェルスクリプトはどのシェルで動くかわからない(からちゃんと書いとけ)」の記事を書いている時に見つけた fish の PR 7802 です。fish はシバンがないスクリプトを実行するとエラー

                                  シェルスクリプトの後ろにバイナリを埋め込む手法はPOSIXで考慮されているという話 - Qiita
                                • シェルのバックグラウンド実行って後だしできるって知ってました? - Qiita

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

                                    シェルのバックグラウンド実行って後だしできるって知ってました? - Qiita
                                  • ゼロからはじめるPython(83) Pythonシェル徹底活用 - 快適CUI生活のススメ

                                    Pythonには対話的にプログラムを実行できるPythonシェルが備わっている。きっとPython学習の際に使ったことがあると思う。とはいえ学習用だけに限定するのは非常にもったいない。筆者は事あるごとに計算やカレンダー、フォルダを開いたりと、いろいろな用途に使っている。今回は、Pythonシェルを便利に使うアイデアを7つ紹介する。 Pythonシェルとは? そもそも、Pythonシェルとは何だろうか。Pythonをインストールすると一緒についてくる対話式実行環境のことだ。WindowsでPythonシェルを起動するには、スタートメニューから「Python3.x > IDLE」を実行するか、PowerShellを起動して「python3」とタイプすれば良い。macOSではターミナル.appを起動して「python3 」とタイプしよう。 Pythonシェルが起動すると「>>>」と表示されるので

                                      ゼロからはじめるPython(83) Pythonシェル徹底活用 - 快適CUI生活のススメ
                                    • シェルスクリプトは ((i=i+1)) ではなく i=$((i+1)) で計算しなければいけない!という話 - Qiita

                                      count=0 max=5 while ((count < max)); do # (( 算術式 )) は条件文で使うものです count=$((count + 1)) # 計算したいだけなら算術式展開を使います echo "$count" done ついでに言うと (( 算術式 )) は POSIX シェルで規定されていません。bash、ksh、mksh、zsh では使えますが dash、yash などの純粋な POSIX シェルに近いシェルでは使えません。 なぜ? (( 算術式 )) を使って変数に値を代入したり変更することができますが、それだけのために使ってはいけません。if や while などの条件文とともに使うものです。 C 言語を使ってる人なら比較的見かける書き方だと思いますが、(( 算術式 )) で値を変えるというのは、以下のように評価するついでに値も変えちゃえと、短く書く

                                        シェルスクリプトは ((i=i+1)) ではなく i=$((i+1)) で計算しなければいけない!という話 - Qiita
                                      • An Opinionated Guide to xargs

                                        Preliminaries What Is xargs? It's an adapter between text streams and argv arrays, two essential concepts in shell. You pass it flags that specify how to split stdin. Then it generates arguments and invokes processes. Example: $ echo 'alice bob' | xargs -n 1 -- echo hi hi alice hi bob What's happening here? xargs splits the input stream on whitespace, producing 2 arguments, alice and bob. We passe

                                        • iOSエンジニアが開発効率のために最低限知るべきシェルスクリプト入門

                                          bashやzsh,ターミナルは弄っていますか?黒い画面は古臭いと思ってませんか? iOSエンジニアと言えどXcode上でSwiftをコーディングだけが全てではありません。 CocoaPodsやCarthage、fastlane などエコシステムはシェルコマンド操作が必須です。 またAPIとの通信にシェルスクリプトを使うことで、効率よく情報を集めたり事前準備できたりします。 シェルスクリプトはSwiftと同じただの道具です。使い方を覚えて視野を広げましょう。 この記事で基礎知識を得よう この記事では難しいイディオムテクニックが書けるなどではなく、基本を理解してシェルスクリプトを読めるようになるための土台作りだとイメージしてください。 この土台を踏み台に少しずつシェルスクリプトに触れていくことで、より生産性の高いスキルを身に付けれるかと思います。 bashやzsh, fishと色々あるが基本は

                                            iOSエンジニアが開発効率のために最低限知るべきシェルスクリプト入門
                                          • プログラミング初心者でも簡単・Linuxでコマンドを自作する方法 - paiza times

                                            もじゃ(@s10akir)です。paizaラーニングでプログラミング学習動画制作のアルバイトをしたりバイト中にアニメを見たりしている専門学生です。 最近paizaラーニングで「Linux入門編」が公開されました。やったー!(私はLinuxのオタクです)Linux入門編では、Linuxの特徴であるコマンドライン操作について学べます。 こういったシェルコマンドって、どのような仕組みで動いているのか気になりませんか?(気になるって言ってください!) 今回は、実際に自分でシェルコマンドを作ってみつつ、Linuxでのコマンド実行の流れをざっくり確認してみましょう。 ※この記事内では" $ hogehoge "という表記がよく出てきますが、$はターミナルで打つコマンドであるということです。(実際のターミナルに$は入力しません) なおバイト中にアニメを見ている様子はこちら。 paiza.hatenabl

                                              プログラミング初心者でも簡単・Linuxでコマンドを自作する方法 - paiza times
                                            • AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog

                                              電通デジタルでSREをしている神田です。突然ですが、みなさんAWS CLI短縮構文をご存知でしょうか? awsコマンドを使っているときに、コマンドのオプションとしてfoo=bar や foo,bar,baz といった構造を持ったパラメータを要求されることがあります。このパラメータを記述するための構文が短縮構文(shorthand)です。 本記事では、普段なんとなくお世話になっている短縮構文をシェルスクリプトから使ったときに陥りやすい罠を紹介します。 AWS CLI短縮構文の簡単な例 短縮構文は、JSONと等価な値を簡潔に表現するための構文です。JSONとの対応をみると内容を理解しやすいです。 例えば、 ["foo","bar","baz"]というJSONの配列は、短縮構文では、 foo,bar,bazと書くことができます。 また、 {"key1": "val1", "key2": "val

                                                AWS CLI短縮構文をシェルスクリプトから使うときに陥りやすい罠|Dentsu Digital Tech Blog
                                              • GitHub - binpash/try: Inspect a command's effects before modifying your live system

                                                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 - binpash/try: Inspect a command's effects before modifying your live system
                                                • 「Git for Windows」のシェルが「bash 4.4」から「bash 5.1」へ ~Vista対応も終了/シェルスクリプトの互換性問題に注意

                                                    「Git for Windows」のシェルが「bash 4.4」から「bash 5.1」へ ~Vista対応も終了/シェルスクリプトの互換性問題に注意
                                                  • GitHub - joehillen/sysz: An fzf terminal UI for systemctl

                                                    VERSION: 1.4.3 See and filter both system and user units simultaneously. Supports all unit types. Units ordered by service, timer, socket, and the rest. Runs sudo automatically and only if necessary. Filter units by state using ctrl-s or the --state option. Run daemon-reload with ctrl-r. Has short versions of systemctl commands to reduce typing. Runs status after other commands (start, stop, resta

                                                      GitHub - joehillen/sysz: An fzf terminal UI for systemctl
                                                    • GitHub - cyberark/bash-lib: Library for bash utility methods and tools

                                                      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.

                                                        GitHub - cyberark/bash-lib: Library for bash utility methods and tools
                                                      • Windowsの中で本物のLinuxが動く、WSL2の驚異の実力

                                                        Windows 10ではLinux実行環境の「WSL」(Windows Subsystem for Linux)が標準搭載され、「本物のLinux」がすぐに使えるようになりました。最新版の「WSL2」について、導入方法や基本的な使い方などを解説します。 Windows 10が動くPCが1台あれば、Windowsを普段通り使いながら“本物のLinux”も同時に動かせる――。そんな素晴らしい環境をいとも簡単に構築できるのが「WSL」(Windows Subsystem for Linux)です。今回は、WSLの基本的な仕組みを押さえた上で、最新のWSL2を導入する方法を紹介します。 読者のみなさんは、日頃どんなPC環境でLinuxを使っているでしょうか。Linux専用のPCを持っている人も多いと思いますが、PCが1台しかなく、マルチブートやUSBブートでWindowsと切り替えて使っているとい

                                                          Windowsの中で本物のLinuxが動く、WSL2の驚異の実力
                                                        • GitHub - xxh/xxh: 🚀 Bring your favorite shell wherever you go through the ssh. Xonsh shell, fish, zsh, osquery and so on.

                                                          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 - xxh/xxh: 🚀 Bring your favorite shell wherever you go through the ssh. Xonsh shell, fish, zsh, osquery and so on.
                                                          • Homebrew 3.0.0リリース

                                                            B! 37 0 0 0 Mac/Linuxのパッケージ管理ツールHomebrewの3.0.0がリリースされました。 メジャーアップデートになりますが、今回はApple Silicon搭載のMacへの対応が メインのアップデートになっています。 Homebrewの歴史 3.0.0での目玉アップデート 3.0.0でのその他のアップデート 新しい設定: HOMEBREW_BOOTSNAP いろいろなコマンドが削除された Bash/Zsh/Fish用の補完ファイルが自動生成される様になった 新しいコマンド: brew completions brew updateでよりうまいことサーバー側のブランチの変更を扱う brew untapしたものは自動でtapしないように 新しいコマンド: brew casks まとめ Homebrewの歴史 せっかくのメジャーアップデートなのでちょっと過去のアップデー

                                                              Homebrew 3.0.0リリース
                                                            • 初心者でもシェルコマンド・スクリプトの使い方が学べる入門レッスン - paiza開発日誌

                                                              こんにちは。谷口です。 今回は、これからシェルに入門したい方、プログラミング初心者の方向けに、paizaラーニングでシェルの基礎が学べる「シェルコマンド入門編」についてご紹介します。 シェルコマンドって何? LinuxやUNIXなどのOSを利用するときに欠かせないのがシェルコマンドです。シェルにはいろいろな種類がありますが、最近のLinuxやMacなどでは、bashがシェルの標準環境とされ、広く使われています。 ざっくり言うと、OSを使いたい時に、OSと我々ユーザーの仲介役をしてくれるのがシェルです。 たとえば、コマンドやスクリプトを入力すると、その入力された処理内容をカーネル(OSの核となる、処理を実行してくれる部分です)に依頼してくれたり、処理中に何らかのエラーが発生した時に、われわれでも理解できるようなエラーメッセージを出力してくれたり…というように、OSとユーザーの間を取り持ってく

                                                                初心者でもシェルコマンド・スクリプトの使い方が学べる入門レッスン - paiza開発日誌
                                                              • clapでシェルの補完スクリプトを生成する

                                                                はじめに この記事では、2022年1月にリリースされたclapとclap_completeクレートを使って、シェルの補完スクリプトを生成する方法を紹介します。 clapはRustのコマンドライン引数パーサーです。 豊富な機能を備えており、Rustではデファクトスタンダートになっているライブラリです。 近年の他のプログラミング言語のコマンドライン引数パーサー——例えば、Pythonのargcomplete、clickやcleo、Goのgo-flags——同様に、補完スクリプトの生成に対応しています。 clapはBuilderパターンによるパーサーの構築が素の使い方ですが、バージョン3でderiveマクロによるパーサーの構築が安定化されました。 Builderパターンによるパーサーの構築——この機能はBuilder APIと呼ばれています——では、以下のようなコードでパーサーを記述します。構造

                                                                  clapでシェルの補完スクリプトを生成する
                                                                • Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記

                                                                  Golangで作ったプロダクトを公開・配布するとき、課題となるのが利用するモジュールのライセンスです。 MITライセンスであれ、MPLライセンスであれ、利用するモジュールのLICENSEやNOTICEファイルを同梱することになるでしょう。 goxzとgo-licensesを使うと、クロスビルドした実行バイナリと利用モジュールのLICENSE等を含め頒布物を作成できるようになります。 最終イメージ 同梱されていることの確認 go-licenses ハマりポイント goxz まとめ 最終イメージ 最終イメージですが、以下のようなMakefileを用意しました。 プロダクトに設定したライセンスで利用できないモジュールがあるかどうかをlicense-checkで確認した後、cross-build.shを呼び出します。 .PHONY: license-check license-check: go-

                                                                    Golangでバイナリを配布するとき、go-licensesとgoxzを使って利用モジュールのLICENSE、NOTICEを同梱する - 理系学生日記
                                                                  • Sockets In Your Shell

                                                                    Something I learned recently and I thought was amazing - you can create sockets straight from your shell! Well, assuming you use bash or zsh - from some surface level digging, I couldn’t find anything for fish. Here’s how it works: bash Bash supports tcp and udp connections out of the box, and does so with an imaginary device in /dev. Enter And you’ll create a connection to HOST:PORT. $PROTO can b

                                                                    • コマンドの力を極限まで高めるシェルスクリプト、VSCodeで効率アップ

                                                                      Linuxを使いこなす上で、絶対にマスターしておきたいのが「コマンドライン操作」だ。この特集では、コマンドライン操作に苦手意識を持つ人に向けて、「シェル」や「端末」などの根本的な仕組みからコマンド操作の基本や活用方法までを解説する。 連続したコマンド処理を何度も実行したい場合、「シェルスクリプト」を作って使うと便利です。このPart5では、シェルスクリプトの基本を徹底解説します。効率良く作成するのに役立つVisual Studio Codeの活用法も紹介します。 Part4までで見てきたように、ファイルの名前を変えたり、いらないファイルを削除したり、ファイル内に記載された内容を昇順に並び替えたりといった、一つの作業をするだけであれば、その都度コマンドを実行してもさほど苦にならないでしょう。しかし、複数のコマンド実行を組み合わせたり、同じような処理を定期的に実行したりする必要がある場合、いち

                                                                        コマンドの力を極限まで高めるシェルスクリプト、VSCodeで効率アップ
                                                                      • CodecovのBash Uploaderが書き換えられた件 - keroxpのScrapbox

                                                                        https://about.codecov.io/security-update/ 2021/04/15、コードカバレッジの記録サービスであるCodecovから上記のようなアナウンスが有った 端的に言うと、CodecovがCI上で使っているカバレッジファイルのアップロードスクリプトであるBashスクリプトが何者かに書き換えられ、それが3ヶ月(01/31~)気が付かなかったらしい Bash Scriptは以下のようにCurl経由で直接形で実行する形式だった code:bash bash <(curl -s xxxxx/xxx.sh) で、今回このリモートにあるbashファイルがまるごと書き換えられたとのこと その結果、これを使っている各種プロジェクトのCIマシン上の機密データがぶっこ抜かれたらしい 何がどこからどの程度抜かれたのかは不明なのですが、上記レポートによればそういったデータが外部の

                                                                          CodecovのBash Uploaderが書き換えられた件 - keroxpのScrapbox
                                                                        • GitHub - mig1984/bashible: Simple bash DSL framework for writing shell scripts safe and agile.

                                                                          A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

                                                                            GitHub - mig1984/bashible: Simple bash DSL framework for writing shell scripts safe and agile.
                                                                          • GitHub - bach-sh/bach: Bach Testing Framework

                                                                            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 - bach-sh/bach: Bach Testing Framework
                                                                            • BashPitfalls - Greg's Wiki

                                                                              Bash Pitfalls This page is a compilation of common mistakes made by bash users. Each example is flawed in some way. 1. for f in $(ls *.mp3) One of the most common mistakes BASH programmers make is to write a loop like this: for f in $(ls *.mp3); do # Wrong! some command $f # Wrong! done for f in $(ls) # Wrong! for f in `ls` # Wrong! for f in $(find . -type f) # Wrong! for f in `find . -type f` # W

                                                                              • シェルスクリプトに挑戦しよう(18)連想配列

                                                                                今回で「配列」は最終回となります。今回のテーマは、bashのバージョン4以降から使用できるようになった「連想配列」です。 “応用力”をつけるためのLinux再入門 連想配列とは? bashでは、バージョン4以降から「連想配列(Associative arrays)」が使用できるようになりました。 通常の配列では、今まで見てきたように添字は数値で指定しますが、連想配列の場合は文字列も使用できるようになります。本連載では、連想配列は添字ではなく「キー」と呼ぶことにします。 連想配列の場合、「declare -A 配列名」で事前に配列を定義してから使用します(※)。例えば、「exam」という名前の連想配列であれば、「declare -A exam」のように指定します。

                                                                                  シェルスクリプトに挑戦しよう(18)連想配列
                                                                                • WSL(Windows Subsystem for Linux)環境構築と個人的にオススメのコマンド例を2つほど。 - SE_BOKUのまとめノート的ブログ

                                                                                  目次 WSL(Windows Subsystem for Linux)環境構築 WSLを有効にする Linuxディストリビューションのインストール WSLを使ってみる WindowsとLinuxのコマンドを混在して使う例 開発・テストに便利なLinuxコマンドの例 まとめ WSL(Windows Subsystem for Linux)環境構築 Windows10のWSL(Windows Subsystem for Linux)を使えるようにする方法と、個人的にPythonの開発・テスト時に使うオススメのコマンド例を2つほど紹介します。 Windows Subsystem for Linux(以後 WSL)は、Windows10のコマンドプロンプトからLinuxのコマンドを使えるようになる仕組みです。 僕はLinux使いではありません。 それでも、サーバーを立てたりする時とかに使わなくては

                                                                                    WSL(Windows Subsystem for Linux)環境構築と個人的にオススメのコマンド例を2つほど。 - SE_BOKUのまとめノート的ブログ

                                                                                  新着記事