タグ

シェルに関するrichard_rawのブックマーク (45)

  • シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ


      ikasat  git, ssh, rsync    Python  Git  pygit2 SSH  paramiko 使 rsync   subprocess Python  Python 
    シェルスクリプトとの対比で理解するPythonのsubprocess - 朝日ネット 技術者ブログ
    richard_raw
    richard_raw 2023/11/09
    これは分かりやすい。でもsubprocessはたまにしか使わないのでその度に調べなおしています。
  • findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita


     find 使調find 使調使使 find 使使 Q&A: -type  -perm     POSIX  find | xargs  find -exec {} + 使   find
    findコマンドの使い方を簡単に理解するための7つのルール+実践的な知識 - Qiita
    richard_raw
    richard_raw 2023/10/23
    なるほど、オプションではなく評価式。/xargsは並列化以外には使わない。
  • 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年のシェル環境構築
    richard_raw
    richard_raw 2023/09/11
    Figいいなと思ったがmacOS用か……。自分はHISTSIZE変えるくらいしかしてないですな。
  • Bashを使いこなすための必須コマンド71選 - Qiita


     mkdir, ls, cp, touch, mv, rm使 71 mac NucoOrganization Nuco Ctrl 使 Ctrl使 Ctrl-A   Ctrl-E   Ctrl-W  
    Bashを使いこなすための必須コマンド71選 - Qiita
    richard_raw
    richard_raw 2023/06/14
    ncduは知りませんでした。/cutあるのにpasteないんかーい!/ifconfigって非推奨じゃなかったかしら。
  • シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita


     dateround  dategrep awk 使 Dateutils  Dateutils 使 Dateutils 使  Dateutils 
    シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
    richard_raw
    richard_raw 2023/06/06
    便利そう。でも追加インストールするにはプロキシ設定とクライアント証明書をごにょごにょしないといけない環境なのでうーん。
  • シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog


     NTT Communications Advent Calendar 20224  SDPF   OpenStack   1 #  process  fork  #  :(){ :|:& };: 2 11 160 11
    シェル・ワンライナー 160 本ノックを完走した - NTT Communications Engineers' Blog
    richard_raw
    richard_raw 2022/12/05
    近頃シェル芸から遠ざかっているので鍛えなおしたいところ。
  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita


     bash  [ ... ]  [[ ... ]]    test  [  [[  -  POSIX  Advent Calendar 2013 -  Blog    POSIX 
    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
    richard_raw
    richard_raw 2022/11/07
    二重カギ括弧はPOSIXじゃなかったのか……。
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita


     30UNIXPOSIX  1990   UNIX
    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
    richard_raw
    richard_raw 2022/06/20
    確認したら第2版じゃなくて初版で勉強してましたわ自分。……もうShellcheckに頼り切りでいいか(思考放棄)。
  • JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利


    JSON  gron 便 2022-06-13-1 [Programming]  JSON  jq (JSON)[2017-10-24-1] 使便  gron 使 GitHub - tomnomnom/gron: Make JSON greppable!JSONgrepgron - Qiitagronjson  Tower of Engineers   
    JSON を行単位にわかりやすく展開してくれるコマンド gron がピンポイントでとても便利
    richard_raw
    richard_raw 2022/06/14
    jq使いこなすの難しいな……と思っていたので助かります。
  • コマンドの実行結果を VS Code で開く方法 | DevelopersIO

    9月にリリースされた VS Code 1.60 のリリースノートを読んで、発見した機能です。(1.60 で実装された機能ではありません) 以下でもちらっと触れましたが便利なので別途記事を書いてみました。 code - では皆さん、おもむろにシェルを開いて以下を入力し実行してみてください。 ls | code - bash なら以下のフォーマットで VS Code が立ち上がり、 PowerShell の場合は以下のフォーマットで VS Code が立ち上がったかと思います。 この時シェルは以下の状態で止まっています。 Reading from stdin via: /tmp/vscode-stdin.F5FrMB.txt VS Code を閉じると再びシェルが使えるようになります。 この code - については code -h でヘルプを見れば3行目に書かれています。(今まで見逃してた…

    コマンドの実行結果を VS Code で開く方法 | DevelopersIO
    richard_raw
    richard_raw 2021/11/18
    おお、これは便利かも。
  • シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita

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

    シェルスクリプトは変数代入で = の前後にスペースを置けない!・・・の本当の理由を知ると優れた文法が見えてくる - Qiita
    richard_raw
    richard_raw 2021/11/15
    面白い。把握していない事柄が多かったです。
  • 1日1問、半年以内に習得 シェル・ワンライナー160本ノック


    2021927 2021922   B5488 3,5203,20010% ISBN 978-4-297-12267-6 Gihyo Direct Amazon  .com  Gihyo Digital Publishing Amazon Kindle kobo honto  1LinuxMac
    1日1問、半年以内に習得 シェル・ワンライナー160本ノック
    richard_raw
    richard_raw 2021/09/28
    気になるけど買うべきか否か……。
  • シェルスクリプトを書くのをやめる - blog.8-p.info

    今年から、できるだけシェルスクリプトを書くのをやめようとしている。私が毎日 zsh に打ち込んでいるのも広義のシェルスクリプトだし、自分用の雑なスクリプトを書くことはあるけれど、チームの他の人も将来に使ったり改変したりするようなものは、なるだけ他の言語を使っている。 シェルスクリプトを書くのは難しいし、その難しさは、学ぶに値しないといったら言い過ぎかもしれないけれど、2021年に初心者が取り組むべき問題とは言い難いと思う。 シェルは悪いプログラミング言語である Bash Strict Mode とかを使ってみても、シェルスクリプトには落とし穴が多すぎる。自分で書いたものを自分で使っている分には大丈夫なのだけど、スクリプトがチーム内で使われるようになると、考慮していなかったところ、例えばファイル名に空白文字が含まれるとか、そういうレベルの微妙なところで、ちゃんと書かれていないスクリプトは壊れ

    richard_raw
    richard_raw 2021/09/16
    書いてますが、ワンライナーに毛の生えたのとか単純なバッチ処理くらいかなあ。
  • POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき!ShellScriptBashshellPOSIX はじめに find の出力を xargs にパイプで渡すというのはよく見かける使い方ですが、find -print0 | xargs -0 が使えない POSIX 準拠のシェルスクリプトでは find -exec {} + を使った方が良いです。安全かつ十分に速いからです。よく見かける -exec {} ; ではなく -exec {} + ですので間違えないようにしてください。多くのケースでは + の方が優れているのですが ; ばっかり使われているのを見ると、意外と知られてない気がします。 少しだけ予備知識として、-exec {} ; は -exec {} \; と ; をバックスラッシュでエスケープするのがよく見る使い方

    POSIX 準拠のシェルスクリプトでは find | xargs よりも find -exec {} + を使うべき! - Qiita
    richard_raw
    richard_raw 2021/09/14
    私は1999年で知識が止まってました。";"と"+"でそんなにパフォーマンスが違うとは……。というか"-print0"はPOSIX標準じゃなかったのか。/(追記)「;」は単体実行で「+」はグループ実行。
  • シェルスクリプトの [ は /bin/[ と言ったり [ "x$var" = "xval" ] と書く人はオジサン - Qiita

    # Ubuntu 20.04 の bash での実行結果 # シェルから [ が何として見えているか $ type [ [ is a shell builtin # PATH から見つかる全ての [ コマンドを出力する # 補足 zsh では which がシェルビルトインコマンドで、シェルビルトイン版の [ も出力される $ which -a [ /usr/bin/[ /bin/[ $ type [[ [[ is a shell keyword # zsh では [[ をパターンとして認識してしまうのでダブルクォートが必要 $ type "[[" [[ is a reserved word ちなみに [ の外部コマンド版が /usr/bin/ と /bin/ の両方にあるのは Ubuntu 20.04 では /bin が /usr/bin へのシンボリックリンクになっているからです。Ub

    シェルスクリプトの [ は /bin/[ と言ったり [ "x$var" = "xval" ] と書く人はオジサン - Qiita
    richard_raw
    richard_raw 2021/09/02
    40年前だったのかよ!
  • シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita

    TL; DR 変数をダブルクォートしない使い方は上級者向けの危険な機能です! $@ と $*(または配列の全要素)をダブルクォートしない使い方は知る必要すらありません! ShellCheck を導入すれば誰でも簡単に正しい書き方がわかります!! 2021-08-21 補足 この記事は dash や bash などの POSIX シェルの一般的な動作を解説しており zsh のデフォルトとは異なります。記事の中でも説明していますが zsh の場合はシェルのオプションを変更することで POSIX 準拠の動作に変更することができます。zsh に関しては後半の「zsh に関する注意点」も参照してください。 はじめに プログラミング言語は、言語によって記号の意味が異なることがよくあります。クォーテーションマークはその一つです。C 言語ではシングルクォートは文字リテラル(一文字)を意味し文字列はダブルク

    シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita
    richard_raw
    richard_raw 2021/08/26
      \n  echo    





    bash

    clip
     
  • なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜ShellScriptBashshellPOSIX まえがき この記事は「シェルスクリプトで高い移植性と生産性を両立させるシリーズ」の第一弾です。移植性と生産性を両立させるための前提知識として POSIX コマンドの問題点について解説します。第二弾では高い移植性と互換性を実現させるための考え方、そして第三弾、第四弾ではそれを実現するシェルスクリプトの具体的な実装テクニックを紹介します。第五弾では現実的な問題と回避方法について解説する予定ですがまだ具体的な内容は決まっていません。第五弾はその前に「シェルスクリプト入門(仮)」の記事を書こうと思ってるので少し遅くなると思います。もし興味がある方は記事をストックしていると更新時に通知されると思います。 2021-07-11 追記 記事が長くなった

    なぜシェルスクリプトはPOSIX準拠でも環境依存が激しいのか? 〜POSIXの問題点とその解決策の案〜 - Qiita
    richard_raw
    richard_raw 2021/06/28
    “私はシェルスクリプト用のテストフレームワークである ShellSpec の開発者です。” つよい。
  • チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル


     (2020-09-06T11:25+09:00)  unix.stackexchange.com HOME tl;dr ~/$HOME/ ~/$HOME/$HOME/(e.g. bash, zsh, etc...) 使使 使: DockerfileCMD ~--
    チルダ(~)はどうしてホームディレクトリになるのか - Lambdaカクテル
    richard_raw
    richard_raw 2021/01/06
    仕組みの話だった。/“ちなみに~foobar/と書くとユーザfoobarのホームディレクトリになる” URLのあれはそういうことだったのか!/歴史的経緯へのリンクが追記されている。
  • bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 bashインフラLinuxプロセス置換ファイルディスクリプタシェルスクリプト こんにちは、羽山です。 今回は意外と知らないかもしれないbashの「プロセス置換」という機能を紹介します。 UNIXでは「1つのプログラムは1つの機能にとどめ、フィルタとして動作できるようにせよ」という設計思想があります。 その言葉の通り、大抵のコマンドはパイプでつないでフィルタのように動作可能ですが、必ずしも理想的に設計されていない、もしくは仕様上できないコマンドもあります。 例えば、よく使う diff コマンドがこれにあたります。 指定するファイル名を - とすれば片方は標準入力から読み込めますが、もう片方はどうしても引数で指定しなければいけません。 コマンドの実行結果を直接比

    bashのプロセス置換で遊んでみよう! | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
    richard_raw
    richard_raw 2020/12/23
    プロセス置換でこんなこともできるのか。
  • GitHub - kenjinote/cmdchat: コマンド プロンプト (チャット風)

    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 - kenjinote/cmdchat: コマンド プロンプト (チャット風)