タグ

cliに関するhomajuのブックマーク (292)

  • いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう!ShellScriptBashLinuxUNIXmacOS はじめに [ $? -eq 0 ] や [ $? -ne 0 ] は冗長でデメリットしかありません。非常に多く見かける書き方ですが、1979 年に Bourne シェルが広く公開された時からこのようなコードは必要なく、実際に当時は使われていませんでした。このような書き方をしなければならなかった歴史的な経緯などはありません。これはなぜか広まってしまった良くない書き方です。良い書き方は最短の時間と最小の手間で目的を達成します。 優れたコードとは無駄がないコードです。丁寧なコードとは無駄な処理を書くことではありません。優れた文法を持つシェルは短いコードで正しく動作します。[ $? -eq 0 ] や [ $? -ne

    いい加減シェルスクリプトで [ $? -eq 0 ] や [ $? -ne 0 ] なんて エラー処理を書くのはやめよう! - Qiita
    homaju
    homaju 2024/08/21
    ShellCheckを使おうとのこと
  • .ps1をダブルクリックで実行したい - Qiita

    今更のネタですが、先日思い出すのが面倒だったので書き留めておこうと思いました。 .ps1 はセキュリティやら何やらの都合で、単純にダブルクリックするだけでは実行できないようになっています。 ただ、実用的にはダブルクリックで実行できた方が使い勝手が良いことも多いです。 直接実行できないのであれば、伝統的な .bat から呼び出してやれば良いのです。簡単ですね。 以下のバッチファイルは、同じフォルダの同じファイル名(%~dpn0)の .ps1 ファイルを実行します。 @echo off powershell -ExecutionPolicy Bypass -NoProfile -File %~dpn0.ps1 %* if %errorlevel% neq 0 ( rem 終了コードが 0 以外の場合は一時停止する pause ) また、フォルダの中にいくつも .ps1 と .bat が並ぶと見

    .ps1をダブルクリックで実行したい - Qiita
  • Microsoftの中の人直伝! 「clip.exe」を覚えるとコマンドラインやWSLで便利だぞ/テキスト出力をクリップボードへポイ!……ただし、文字化けには注意【やじうまの杜】

    Microsoftの中の人直伝! 「clip.exe」を覚えるとコマンドラインやWSLで便利だぞ/テキスト出力をクリップボードへポイ!……ただし、文字化けには注意【やじうまの杜】
    homaju
    homaju 2024/08/01
    cliで処理した内容をクリップボードに入れる技
  • ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク

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

    ShellScriptで自動化を楽にしたい時に知っておいても良いこと | sreake.com | 株式会社スリーシェイク
  • VHS で楽に Neovim のデモ動画を録る

    この記事は Vim 駅伝 の 07/15 の記事です。 前回の記事は staticWagomU さんによる、 06/12 の「mini.nvimを使って環境構築したら優勝した」という記事でした。 次回は 07/17 に投稿される予定です。 はじめに 1ヶ月ほど前に Vim のマイナーなテクニックを紹介する記事を公開し、ありがたいことに非常に多くの方に読んでいただきました。 この記事では特にデモ動画を多く載せることを意識していました。数えてみると8つもの GIF 動画が例に用いられています。Vim を用いた編集のスピート感を視覚的に示すことで、紹介したテクニックの魅力がより効果的に伝わったのではないでしょうか。 元記事の末尾に書いた通り、「中級 Vim 操作」では VHS というコマンドラインツール (CLI) と Neovim、そして nvim-keycastr というプラグインを用いてデ

    VHS で楽に Neovim のデモ動画を録る
    homaju
    homaju 2024/07/15
    VHSコマンドでCLIの録画ができる
  • SSH接続を10倍速くするたった3行の設定 - Qiita

    今回は、SSH接続を劇的に高速化する方法をご紹介します。たった3行の設定を追加するだけで、接続時間を10分の1に短縮できます。しかも、2回目以降の接続では認証も自動的に行われるので、パスワードやパスフレーズの入力も不要になります。 要点 .ssh/configファイルのHost *セクションに以下の3行を追加するだけです。 詳しい説明 1. ControlMaster auto この設定で、1つのSSH接続で複数のセッションを共有できるようになります。新しくSSH接続を確立するたびに認証情報を入力し直す手間が省けて、接続がぐっと速くなります。具体的には: 初回の接続時のみ認証が必要 2回目以降は既存の接続を再利用するため、認証プロセスをスキップ パスワードやパスフレーズの入力が不要になり、接続がほぼ瞬時に完了 2. ControlPath ~/.ssh/mux-%r@%h:%p Contr

    SSH接続を10倍速くするたった3行の設定 - Qiita
    homaju
    homaju 2024/07/09
  • エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita

    はじめに 以前紹介させていただき、2022年Qiitaのいいねランキング18位、ストックランキング20位を記録したこちらの記事の続編です! DevToysはリリース後しばらく定期的なバージョンアップが続けられていましたが、去年の7月からぱったりとアップデートが止まっている状態でした。 リポジトリや作者のXを見るとバージョン2の開発を行っているようで、今か今かと待ち続けていましたが数日前リリース予告のポストを見つけて、今日ついにプレリリースされました! ということで早速紹介していきます! DevToysとは DevToysは「開発者のためのスイスアーミーナイフ」の紹介文の通り、開発時によく使うツールを十徳ナイフのようにまとめたアプリとなっています。 JSONの整形とかエンコードデコードetc... プログラミングや保守運用の調査でやりがちな作業をいちいち変換サイトを探したり、エディター拡張機

    エンジニアのための十徳ナイフ「DevToys」がバージョン2になってクロスプラットフォームやCLI対応しさらに便利すぎる - Qiita
  • Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル

    以下の文書はBashを使う前提の話。 Bashにはコマンド置換(Command substitution)というのがある。$(another-command)のように、$()でコマンドを括る記法だ。これを利用すると、括弧で括られたコマンドが実行され、その標準出力が文字列として取り出され、$()全体を置き換える。シェルスクリプトでは非常によく見る技術だ。 この$()でファイルの内容を読み出すというのを最近見た。このような用法は非常によく見る。 foo-command $(cat params.txt) しかし、より良い書き方があるのでこれを提唱したい。$(< params.txt)と書くことで全く同等のことができる。しかも速いのでこちらのほうが完全に上位互換となる。 foo-command $(< params.txt) この方法はBashのドキュメントのコマンド置換のコーナーにちゃんと書か

    Bashで$(cat foo.txt)していませんか?$(< foo.txt)しよう - Lambdaカクテル
    homaju
    homaju 2024/06/08
  • Neovim + oil.nvim + Weztermで頑張って画像を表示する

    TLDR oil.nvimで画像を選択し、Weztermで画像を表示。 画像はこちらから Neovimで画像と向き合う方法を紹介 Quicklookを呼び出す方法は簡単 今回はWeztermとoil.nvimをフル活用して、Terminal上で画像を表示する方法を紹介をメインに紹介 はじめに Vimmerたるもの、普段はTerminalに引きこもっているものです。 特にVim(Neovim)上で作業をすることが多いはず。 しかし、Terminalが苦手なファイルも存在します。 ご存じ、画像ファイルです。 これまで、自分は画像ファイルを見たいときは openコマンドで画像を開く(MacならPreviewで開く) open .でFinderを開いて画像を見る としてきましたが、やはり画像を見たいためだけにFinderを立ち上げたりアプリを起動、終了するのは面倒です。 そこで、これらを改善するこ

    Neovim + oil.nvim + Weztermで頑張って画像を表示する
  • ターミナルから離れたくない…Tmux(&Neovim)の設定例🖊

    この記事の概要 tmuxneovimを組み合わせている様子… こんにちは!パン🍞と申します🏜 普段はフロントエンドを中心にパソコンをカタカタしている者です💻 私は普段のコーディング時のメインエディタとして、ターミナル環境下で、Neovimを用いています。 (Neo)Vimは、その独特な操作体系ゆえ慣れるまでがちょっぴり大変ですが、一度習熟すると非常に効率よくテキスト操作を行えるため、日々愛用しています。 また、開発作業の過程では、複数の画面を都度切り替えながらコーディングをしたり、複数のシェルを用いてコマンド操作を実行したくなる機会が多々あります。 例えば、 Viteでフロント開発環境を立ち上げてリアルタイムでコード変更を確認したい docker composeで複数のコンテナを立ち上げつつターミナルでログを確認したい それはそれとしてNeovimも並行して使いたい といった具合

    ターミナルから離れたくない…Tmux(&Neovim)の設定例🖊
    homaju
    homaju 2024/03/14
  • バッチファイルでの試行錯誤を回避するためのメモ-または人類には早すぎた言語 - Qiita

    草 「それ海外だとアウトローですぅ」 「ここではない何処かに行きたいだけなら、それでもいいですけど(ドヤァ)」 「プログラミング言語に詳しくなるのは、もう生き甲斐のようなものなんです(ドヤァ)」 「来月からレポートしますぅ」 「レポートはしないですぅ」 「私は先に進みます(キリッ)」 クッソワロタwww この記事の背景 最近、仕事でバッチファイルを書かざるを得ないという不幸な場面に遭遇しているのですが、これがまた、ものすごくどうでもいいことでハマることが多々あり、思わず「このWindows、壊れてる!」と思ったほどでした。犠牲者を増やさないためにも、DOS文法の挙動を記録したメモを載せておきます。 (記事を見てもらえば納得されると思いますが、DOSバッチの言語設計は「驚き最大の原則」を方針とし、その言語仕様は「実装」です。言語法律家というものが成立しえない、非常に平和な世界でもあります。

    バッチファイルでの試行錯誤を回避するためのメモ-または人類には早すぎた言語 - Qiita
    homaju
    homaju 2023/11/14
  • findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita

    はじめに find コマンドの使い方は、ざっくり調べただけではよくわからんとなりますが、見逃しがちなルールを知れば簡単に理解できます。find コマンドに限りませんが使い方を調べるのが面倒だからと曖昧な理解で使うと逆にもっと分からなくなって時間がかかります。急がば回れ、理解して正しく使ったほうがシンプルで楽で簡単です。この記事では find コマンドの使い方を理解するために必要なルールと使い方の実践的な知識をまとめました。 Q&A(?): -type や -perm の説明はしないの? ⇒ それらはドキュメントを読むか検索すればすぐにわかることで難しいポイントではありません。重要なのは基のルールを理解することです。 関連記事 POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! 移植性の話はこちら ⇒ findコマンドのオ

    findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita
  • Vim/Neovimのプラグインマネージャーを悪用してCLIの管理ツールとして使う

    TL;DR CLI ツールを管理する方法として、Vim/Neovimのプラグインマネージャーを使うと意外と便利 はじめに 皆さんはCLI ツールをどのように管理していますか? 私はmacOSで使うツールの管理に以下のパッケージマネージャーたちを使っています。 汎用的なパッケージマネージャー aqua - YAMLでDeclarativeにツールを管理できる。極力これで管理したい Homebrew - 有名なパッケージマネージャー。macOSのデファクトスタンダード。Aquaで管理できないツールを管理する 言語ごとのパッケージマネージャー volta - Node.jsのバージョン管理ツール。Node.jsのバージョンを切り替えるのに使う rye - Pythonのバージョン管理ツール。Pythonのバージョン/仮想環境/ツールを管理するのに使う rustup - Rustの管理ツール。Ru

    Vim/Neovimのプラグインマネージャーを悪用してCLIの管理ツールとして使う
  • 多段 SSH で秘密鍵を「ローカルに持つ」パターンと「踏み台に持つ」パターン - Qiita

    はじめに 多段 SSH の設定方法はググればたくさんでてきますが,「踏み台に秘密鍵を持つ」パターンの情報が少なくて躓いたので,今後のためにメモしておきます。 Special Thanks: @chitoku ローカルに持つ場合 通常はこちらの方法が望ましいです。

    多段 SSH で秘密鍵を「ローカルに持つ」パターンと「踏み台に持つ」パターン - Qiita
  • 2023年のシェル環境構築

    tl;dr fig starship zsh fzf sheldon なぜ vscode の .vscode/tasks.json が fishと非常に相性が悪い。とくに fish-nvm を使っていると、fish 経由のパス実行時に node と npm へパスが通らない。 そもそも fish を使っていた理由は autocomplete を快適にするためだったが、1年ぐらい Fig を使っていて、補完はこれを任せていいと気づいた。 Fig はこういうやつ そもそも fish の拡張コマンドを使わないように生活していた。方言を覚えたくない。というか bash 拡張や zsh 拡張もあんまり覚えたくない。

    2023年のシェル環境構築
    homaju
    homaju 2023/09/09
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

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

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
  • Bashを使いこなすための必須コマンド71選 - Qiita

    はじめに mkdir, ls, cp, touch, mv, rm以上のコマンドにあんまり触れていない。。。という方、もっとコマンドを使いこなしたい!という方。。。必見。 基的だが全部網羅するには大変な基コマンド及びショートカットを溢れんばかり71選お届けします。たくさんありますので、表題に何のコマンドか書いてあるのをご活用ください。 一部、macユーザー向けとなっていることをご了承ください。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 Ctrl を使ったショートカット 最初に、Ctrlを使ったショートカットを紹介します。 Ctrl-A 行頭移動 ↓ Ctrl-E 行末移動 ↓ Ctrl-W 直前一単語を削除 ↓

    Bashを使いこなすための必須コマンド71選 - Qiita
  • 第765回 高度なことが簡単にできる多機能バックアップツール、Restic[前編] | gihyo.jp

    今回はGo言語で書かれた、オープンソースでマルチプラットフォームなバックアップツールであるResticを紹介します。前後編に分かれており、今回はインストールとバックアップ方法2種類を解説します。 Resticとは 第653回で紹介したDéjà DupはDuplicityというバックアップツールのフロントエンドです。しかしバージョン43.0以降はバックエンドをResticへ変更できるようになっています。 図1 Déjà Dupの実験的機能。なおこのタブは表示されない場合もある Duplicityは高性能ではあるもののコマンドラインオプションが複雑で使用するのは難しく、Duplyというコマンドラインのフロントエンドまであるくらいです。 ではこのResticはどうなのかと思って調査したところ、後発(とはいえ最初のリリースは8年前)だからか洗練されており、かつGo言語で書かれているのでメンテナンス

    第765回 高度なことが簡単にできる多機能バックアップツール、Restic[前編] | gihyo.jp
  • さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 | さくらインターネット

    さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 クラウドコンピューティングサービスを提供するさくらインターネット株式会社(社:大阪大阪市、代表取締役社長:田中 邦裕)は、ブラウザから無料で利用できるシェル環境「さくらのクラウドシェル」の提供を2023年5月25日より開始します。 「さくらのクラウドシェル」はオンラインのシェル環境で、すでに開発者向けの環境がインストールされているため、ご自身の環境に手を加えることなくすぐに利用することができます。 基機能は会員登録不要のプランにて利用可能です。また、必要に応じて会員IDを利用することでアクセス制限を緩和することが可能です。それに伴い、デプロイ・リリース用サーバとしての利用や外部I/Fを利用するようなプログラミング環境としての利用など柔軟に利用できます。

    さくらインターネット、会員登録不要で無償利用可能なオンラインシェル環境 「さくらのクラウドシェル」を2023年5月25日より提供開始 | さくらインターネット
  • シェルスクリプトでスクリプトの引数をループする方法

    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

    シェルスクリプトでスクリプトの引数をループする方法
    homaju
    homaju 2023/05/23