タグ

bashに関するko-ya-maのブックマーク (34)

  • GitHub - nuta/nsh: A command-line shell like fish, but POSIX compatible.

    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 - nuta/nsh: A command-line shell like fish, but POSIX compatible.
  • Bash Scriptの作法 - Qiita

    はじめに チーム開発でシェルスクリプト(特にBash Script)を書く際に守るべきルールをまとめます。 シェルスクリプトのコードレビューをする際等にお役立てください。 スクリプト名 -区切りの小文字英数字(いわゆるkebab-case)をつける。拡張子は.sh. これは特に理由があるわけではないので_区切りでもよいし、チーム内にzshやfish等の他Shell愛好家がいる場合は拡張子は.bashでも良い。どちらにせよチーム内では統一しておかないと混乱の元となる。 改行コード LFを使用する。CRLFだと動作しないので書く際に間違うことはないが、Windows上のgitのautocrlf設定によってはご丁寧にCRLFでチェックアウトされてしまう。 避けるためにはgit config --global core.autocrlf inputとするか、.gitattributesをレポジトリ

    Bash Scriptの作法 - Qiita
  • 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

  • One-liners | Basic | Cheat sheet | Linux Command Library

    $ wget --random-wait -r -p -e robots=off -U mozilla http://www.example.com

    One-liners | Basic | Cheat sheet | Linux Command Library
    ko-ya-ma
    ko-ya-ma 2020/11/13
    すごい物量
  • 🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita

    公式: https://starship.rs GitHub: https://github.com/starship/starship Starship はプロンプト(ターミナルに表示されるカレントディレクトリやユーザーの情報) のカスタマイズを行うプラグインのようなもので、特徴としては 公式より引用 Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! The prompt shows information you need while you're working, while staying sleek and out of the way. Rustで作られているために高速に動くそうです。 インストール Macであればとても簡単に、

    🚀 プロンプトを超絶おしゃれにする Starship を紹介 - Qiita
    ko-ya-ma
    ko-ya-ma 2019/09/08
    デモ画面を見て、bashがfishっぽくなる機能もついているのかと思ったら、fishそのものだった……。fishも対応しているのは嬉しいけれど
  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
  • Not Found

  • bashで忘れがちな機能とかいろいろの備忘録 - Qiita

    背景 シェルスクリプトを書くことが結構あるのでその備忘録代わりに記事を書いてみました。 特殊変数とは 特殊変数とは シェルによって自動的に値が設定される特殊な変数がいくつかあり、それら特殊な変数を参照することにより、様々な情報を取得することができる。 変数名 説明

    bashで忘れがちな機能とかいろいろの備忘録 - Qiita
  • シェルスクリプトを高級言語のような書き味に近づける Tips 集 | 創作メモ帳

    Bash は言わずと知れた歴史あるコマンド言語です。テキストにコマンドの羅列を記述するだけで、手軽にシェルスクリプトとして実行することができます。 シェルスクリプトの実体はシェルコマンドの羅列に過ぎませんが、手続き型プログラミング言語にあるような制御構文も備えています。変数や条件分岐、ループ、関数などです。これらを使えばシェルスクリプトでプログラミングも可能です。 もちろん、現代の一般的なプログラミング言語と比べると機能は限られます。他の言語には見られないシェルスクリプト特有の癖や記法も数多くあり、最近の言語に慣れている人ほど、つまずくポイントが多いです。 しかし、シェルスクリプトだからこその良さもあります。Bash は現在でも多くの OS で標準シェルとして採用されており、普段使っているシェルコマンドを書くだけで動かせる手軽さは何者にも代えがたいです。一度身につけておくと長く使えるお得な

    シェルスクリプトを高級言語のような書き味に近づける Tips 集 | 創作メモ帳
  • この処理Pythonでどう書く? - エムスリーテックブログ

    EF15形は高性能な電気機関車であったが、引き出し性能が蒸気機関車に劣ると誤解されていた。 誤った運転方法により来の性能を引き出せていなかったのである。 (spaceaero2 [CC BY 3.0], ウィキメディア・コモンズより) こんにちは、エムスリー・エンジニアリングG・基盤開発チーム小です。 WEBサイトは RailsやSpringなどの「体部分」だけでは完結しません。レポート作成・データ更新などの細かい処理も必要です。 過去にはこうした用途にはBashがよく使われました。しかし、Bashは落とし穴が多かったり、クラスなどの抽象化機能がなかったりして、規模が大きくなると辛くなります。 そこで、Bashの代替候補に挙がるのがPythonです。エムスリーでもかつてはBashを使っていましたが、現在は新規案件にはPythonを推奨しています。 しかし、実際にPythonで書き直そ

    この処理Pythonでどう書く? - エムスリーテックブログ
  • Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita

    ※ 2018/07/21 追記。 お読みいただきましてありがとうございます! すみません、実はタイトルの割には「現在回しているイケてない運用をちょっとした工夫でサクッと改善する」ことを主眼としており、セキュリティのベストプラクティスではありません。。。 稿の例で挙げているコマンドのリスクにつきましては、 注意 の項を追加しましたのでご参照ください。 公開当初は「10いいねくらいもらえたら嬉しいなー」と思っていた程度だったのですが、まさかここまでたくさんの方に読んでいただけるとは。。。 もっと内容を精査しておくべきだったと反省しております。。。 いいねやコメント等反応頂けるのはとても励みになります。ありがとうございます! TL;DR 怖いですよね、セキュリティインシデント。 インフラ系でお仕事をしていると、 Linux にログインして操作する手順書を作る事が多くなります。手順書の中には認証

    Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita
    ko-ya-ma
    ko-ya-ma 2018/07/18
    readコマンドを使う方法
  • プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話ShellScriptBash 普通のプログラミング言語での開発に慣れた人ほどシェルスクリプト、特にBashで戸惑う部分の一つに、i = 0のように空白を開ければエラーになるし、かといってif[$i!=0]のように詰めてもやっぱりエラーになる、という点が挙げられます。書きたい物を思うように書けなくて「なんだよこのクソ言語は!!!」とブチギレる人は少なくないのではないでしょうか。この記事では、そのイライラを解消するポイントをお伝えしようと思います。 以下、特に断り無く「シェルスクリプト」と書いている場合はすべて「Bashのスクリプト」という意味になります。zsh等他のシェルではまた事情が異なりますので、ご注意ください。 (※以前プログラマーの君! 騙されるな! シェルスクリプトはそう書いち

    プログラマーの君! 勘違いするな! シェルスクリプトでは読みやすさのためにスペースを置くな!! という話 - Qiita
    ko-ya-ma
    ko-ya-ma 2018/07/17
    リアルタイムでshellcheck的なことをしてくれるlinter使えばマシになるのでは?
  • 俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました

    俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました エンジニアの皆さんが愛用する自作のワンライナーってどんなもの?Web企業で働くエンジニアの方々に、秘蔵のワンライナーを聞きました。 ワンライナーとは、何か特定の処理を「たった1行のプログラム」だけで実現するものです。サービス運用に携わるエンジニアの皆さんも、愛用している独自のワンライナーを持っているのではないでしょうか。「独自のワンライナー」とは、エンジニア各人のナレッジやノウハウが詰まっているとも考えられます。 企画ではさまざまジャンルで活躍するエンジニア16人に、業務を支えてくれるワンライナーを紹介してもらいました。参考に使ってみるも良し。眺めて楽しむも良し。個性あふれる貴重な「オレオレ・ワンライナー」の数々をご覧ください! ※各カテゴリー内では所属企業名の50音順に掲載。回答者は敬称略とする。 リソース管理 プロセスを

    俺の愛用ワンライナー、Web企業のエンジニア16人に聞きました
  • シェルスクリプトのテストフレームワーク Bats を試してみた - kakakakakku blog

    シェルスクリプトのテストフレームワーク Bats を試してみた. github.com たまにコントリビュートをしている Amazon ECS (Elastic Container Service) のデプロイツール ecs-deploy のテストコードで Bats が使われているので,少し書いたことがあり,もっと詳しく調べてみようと思った. github.com Bats は現在もメンテナンスされている もともとの Bats は sstephenson/bats にあり,現在は bats-core/bats-core に移っている.以下の Issue などを読むと,コミュニティの動きがわかる. github.com github.com インストール Bats は様々なインストール方法がある.まず,用意されている install.sh を試してみた. $ git clone git@gi

    シェルスクリプトのテストフレームワーク Bats を試してみた - kakakakakku blog
  • コマンドを間違えるたびに美少女に罵られたい! - Qiita

    コマンドを間違えるたびに美少女に罵られてみたい、と誰しも思ったことはありませんか? そんな長年の夢を叶えましょう!!! 結果 罵ってくれました。 方法 jp2aを導入する 任意のJPEG画像をアスキーアートにして表示してくれるパッケージです。 たぶん以下でインストールできます。 $ sudo apt install jp2a # for Debian,Ubuntu $ brew install jp2a # for MacOSX,Linuxbrew 画像を用意する 可愛い女の子の画像を用意しましょう。また、グレースケールにしておくと表示が綺麗になります。 シェルにフックを登録する コマンドを間違えたときに呼ばれる関数があるので、それを使いましょう。 jp2aを使い画像を表示し、その後にメッセージを表示します。 Bashの場合

    コマンドを間違えるたびに美少女に罵られたい! - Qiita
    ko-ya-ma
    ko-ya-ma 2017/11/03
    この手のネタでfishが登場するのは珍しい
  • 雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog

    κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼

    雰囲気でシェルを使っている人のためのシェル入門 | κeenのHappy Hacκing Blog
    ko-ya-ma
    ko-ya-ma 2017/10/30
    よくまとまってる。ありがたい。まあ、多くの人が雰囲気で使ってるので、シェルスクリプトでは頑張らないってのも一つの選択肢
  • Linux CUI初心者に早く知っておいて欲しいコマンド操作|TechRacho by BPS株式会社

    morimorihoge です。最近はやりたいゲームができても暑くて全ての気力が削がれてしまい、頑張れてないです。湿気ほんとつらい。 さて、いつものようにはてブを眺めていたら、Qiitaの LinuxCUI初心者が早く知りたかったコマンド(操作も) という記事にちょいちょいネガティブブコメがついており、その中に ブコメの人たち、高いレベルのものや綺麗にまとまったものが読みたかったら君たちがその記事を書けばいいんじゃないかな。この記事はタイトルどおりだと思うよ。Ctrl+Uが書いてあるだけでも助かる人はいる。 というコメントがあって確かにその通りだなあと思ったので、少し元記事に欠けてるなーと思った部分を補完しつつまとめてみます。 ※2017/07/31 12:30 ブコメで頂いた情報を反映しました(コマンド編) 前提 恐らくこの記事はRedHat系ディストリビューション(RHEL, Cent

    Linux CUI初心者に早く知っておいて欲しいコマンド操作|TechRacho by BPS株式会社
  • Googleの肩に乗ってShellコーディングしちゃおう - Qiita

    はじめに GoogleさんがShellスタイルガイドを共有していたので、いくつか気になった点をピックアップしました。 自分のShellスタイルはかなり我流なので、自省の意味も込めてコメントも併記します。 Googleスタイルガイドの元ネタ (Python/C++/Java/Rとかだけでなくdocumentガイドなど色々あります) https://github.com/google/styleguide Shellスタイルガイド (今回はこちら) http://google.github.io/styleguide/shell.xml 当は人間がチェックするのではなくcpplintのためXML定義なのかもですが、気にしない気にしない。 (見たところcpplintc++だけだと思ってます) commitフックでshell系のlint走らせろっていうのが今風なのかもしれませんが、キニシナイキ

    Googleの肩に乗ってShellコーディングしちゃおう - Qiita
  • 割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita

    自分用にメモしておく コマンド実行 CMD1; CMD2, CMD1 && CMD2 ;はCMD1の結果に関わらずCMD2も実行される &&はCMD1の結果が正常な場合のみCMD2が実行される CMD1 || CMD2 - 失敗時に後続コマンドを実行する CMD || printf "%b" "MSG"でエラーメッセージを表示する エラーメッセージ表示後exit 1したい場合 = CMD || { printf "%b" "FAILED.\n" ; exit 1 } CMD || printf "%b" "FAILED.\n" ; exit 1と波括弧無しで書くと期待通り動作しない(CMDが成功時もexit 1してしまう) CMD & - バックグラウンド実行 CMD &で[1] 4592のようにジョブ番号とプロセスIDが表示される killしたければkill %ジョブ番号 か kill

    割りと便利だけど微妙に忘れがちなbashのコマンド・チートシート - Qiita
  • "shove" というシェルスクリプト用のテストツールを作った - weblog of key_amb

    CONTENTS: "shove" とは Motivation こんなツールにしたい 使い方について 中で何をやっているのか おわりに "shove" とは こちらです。 github.com 動作イメージとしては README.md にも貼っているスクリーンショットがわかりやすいと思うので、こちらにも貼ります。 成功時: 失敗時: 上のようにテストスクリプトを引数に与えて shove コマンドを実行すると、テストを実行して結果を出力してくれます。 Perl Monger のみなさんは「proveっぽい」と思っていただけたでしょうか。 そうです。名前の "shove" は "shell" + "prove" を縮めたものです。 bash だけでなく、ksh, dash, zsh など POSIX を満たしているシェルに対応できるように作りました。 $SHELL 変数の値と異なるシェルでテス

    "shove" というシェルスクリプト用のテストツールを作った - weblog of key_amb