タグ

shellに関するkwyのブックマーク (65)

  • 【永久保存版】シェルスクリプト完全攻略ガイド - Qiita

    弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 シェルスクリプトの世界へようこそ! シェルスクリプトって何? シェルスクリプトは普段 Bash などのシェルで実行しているコマンドを並べて、まとめて実行できるようにしたものです。ファイルのバックアップ、ログファイルの解析、システムのセットアップなど、ターミナルで行っていた一連の作業をまとめてシェルスクリプトに記述することで、シェルスクリプトを実行するだけで自動的に一連の作業を終わらせることができるようになります。また、シェルスクリプトはファイルに保存することになるため、再利用するのも簡単になります。 シェルスクリプトで使うコマンドの多くは UNIX コマンドになると思います

    【永久保存版】シェルスクリプト完全攻略ガイド - Qiita
  • シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita

    まず位置パラメータを含め変数を参照する時にダブルクォートしないのは無しです。理由は予期せぬ変数展開やパス名展開が行われるからです。詳細は「シェルスクリプトの変数はダブルクォートしなければいけない!という話」を参照してください。この理由により上半分は「使いません」で終わりです。 ダブルクォートはほぼ必須ですが { } は必要な時だけ書けば十分です。常に ${var} のように { } を書く人がいるようですが、そういう人に限って面倒なのかダブルクォートをしてないことをよく見かけます。逆です。省略可能なのは { } であり、ダブルクォートは(当に不要な場合を除き)省略できません。常に { } を使ってもかまわないと思いますがダブルクォートも書きましょう。 ❌ ${var} ・・・ ダブルクォートが抜けている! ⭕ "$var" ・・・ このように書け! ⭕ "${var}" ・・・ 問題ない

    シェルスクリプトの $* と $@ の違いと雑学色々 - Qiita
  • /etc/motdを変更しようぜ!

    背景 世の中には、作業をミスるとやばいサーバは一杯ある! という訳で、/etc/motdを設定してグラフィカルに、 楽しく対策していきますー!!ヽ(*´ω`)ノ゚ ピェーイ /etc/motdを設定すると何ができるのさ? ログインした時に、ここに書いておいたものを表示してくれます! これで、ログインした瞬間、何のサーバか楽しく分かりますね! ※開発機に設定したイメージ オススメのツール 下記サイトをオススメします! これを使えば、カッコイ文字が作れます! http://patorjk.com/software/taag/#p=display&f=ANSI%20Shadow&t=DEV 皆が見るようなサーバはここで文字を作って、 を開いて、コピペで貼り付けるといい感じになります! 上級者向けの設定 面白いページを発見したので、導入までを共有します。 PngファイルをAsciiArt化する『

    /etc/motdを変更しようぜ!
  • 名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita

    はじめに そりゃまあ 30 年も経てば古くなりますよ。「入門UNIXシェルプログラミング」は今もシェルスクリプトに関するオススメのとして名前が挙がる名著です。しかしこのは古いです。POSIX でシェルが標準化される以前ので、内容から判断するとおそらく 1990 年ぐらいの常識に基づいて書かれています。 古いから参考にならないと言うつもりはありません。しかしどれだけ優れたでも時間の流れには勝てません。良書であると思っているからこそ、古くなってしまった内容は訂正する必要があると考えています。なおシェルスクリプトに関する古いはこれだけではありません。オライリーから出版されているも古いばかりです。いつ頃に(原書が)書かれたなのかを確認した方が良いでしょう。 ということでレビューというていで、古くなってしまった内容の訂正を行いたいと思います。新しく「入門UNIXシェルプログラミング

    名著「入門UNIXシェルプログラミング」の超詳細なレビューをしてみた(古い内容の訂正) - Qiita
    kwy
    kwy 2022/06/20
  • なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記

    会社の中でシェルスクリプトについての話をすることにしたので、このエントリはそのためのものです。 個人的な好みとかもいろいろ入ってしまっているので、そのあたりは取捨選択してください。 なぜ今シェルスクリプトを学ぶのか 公開されているSREをマルっとPDF化する SpotBugsのViolationレポートをMerge Requestのコメント投稿する ぼくの互換性についての考え方 何で書くか シェルスクリプトをうまく書くには ShellCheckを使う バッドパターンとその修正 line-by-lineの処理が多い lsを使う ls /directory | grep mystring ls | grep -v 'log$' lsの結果をループさせる 良いシェルスクリプトを書くためのTIPS set -euする 文字列は基的にクオートする 局所変数にはlocalを使う 定数は読み取り専用

    なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips - 理系学生日記
  • POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita

    はじめに POSIX コマンドはどの環境にもある(追加インストールの必要がない)コマンドだと思われがちですがこれは間違いです。POSIX コマンドにどの環境にもあるという性質は有りません。POSIX コマンドの中でどの環境にもあるコマンドは実際には半分程度しかありません。 関連記事 POSIX準拠 とは当はどういうことなのか?「POSIXで規定されたものだけを使う」ではありません 補足 Linux は POSIX に準拠してないからだという意見もあるかとは思いますが、現実に使われている環境を無視して「どの環境にもある」と主張しても意味はありません。 当にどの環境にもあるコマンドとは? 全 POSIX コマンドは 160 個 POSIX コマンドは全部で 160 個あります。そのうち 22 個はシェルにビルトインされているコマンドなのでどの環境にもあると言えます。残りは 138 個のコマ

    POSIXコマンドは「どの環境にもあるコマンド」ではないよという話 - Qiita
  • Oracle、「MySQL Shell for VS Code」をプレビュー公開/「MySQL」の開発・管理シェル「MySQL Shell」を「Visual Studio Code」で直接扱える

    Oracle、「MySQL Shell for VS Code」をプレビュー公開/「MySQL」の開発・管理シェル「MySQL Shell」を「Visual Studio Code」で直接扱える
  • Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita

    実行中のシェルスクリプトを編集すると実行している途中から動作を変えることができることはよく知られている。 例: http://d.hatena.ne.jp/sleepy_yoshi/20090917/p1 「変えることができる」というよりも現実のケースでは、実行中に意図せず内容を変えてしまうことで予想しない挙動をさせてしまうことがありうる。これを防ぐにはどうするか。 例 次のようなスクリプトを実行中に書き換えてみる

    Tips: 実行中のシェルスクリプトを書きかえるときには - Qiita
    kwy
    kwy 2022/01/20
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita
  • 入門 シェル実装

    開発者にとってシェルが必要不可欠なものであることは論を俟ちませんが、当たり前の存在すぎてこれがどのように実現されているのかを知る機会はあまりないと思います。トークでは、シェルがどのように実現されているのかを、実際にシェルを実装する過程を通じてお話しします。 ※ もともとのトークのタイトルは「入門 シェル」でしたが,わかりやすさのため「入門 シェル実装」にタイトルを変更しています.Read less

    入門 シェル実装
  • 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株式会社
  • シェルのhistoryをクラウドに保存する取り組み - hitode909の日記

    ある日zshの履歴が消えた悲しみからいくつか課題感を持っていた。 巨大な1ファイルにどんどん書いていくので、壊れたときの影響が大きい 追記方式なので、複数の端末で共有するためGitやDropboxなどに入れるとコンフリクトしやすい 履歴から取り出すときにどのディレクトリで実行したコマンドなのかわからない シェル履歴をファイルに書いて終わりという暮らしは数十年変わっていない。 履歴はクラウドサーバーに保存して、補完したいときにAPI経由で問い合わせるというアーキテクチャが良いと思ったので、作ってみた。 github.com コマンドの実行時 zshのフックを使って、コマンドの実行時に、実行したコマンドと$pwdをAPIにPOSTする Cloud Functionsが立っていて、送られたコマンドをCloud Datastoreに保存する Cloud FunctionsはGoogle製のAWS

    シェルのhistoryをクラウドに保存する取り組み - hitode909の日記
    kwy
    kwy 2018/11/29
  • Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita

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

    Linux 作業手順書からべた書きパスワードをなくすシンプルなアイディア - Qiita
    kwy
    kwy 2018/07/18
  • [WordPress] 本文中にあるキーワードを含む投稿を一撃で下書きにする – (っ´∀`)っ ゃー | 一撃

  • 最近覚えたシェルスクリプトの小ネタ - カメニッキ

    シェルスクリプト神から教えていただいた。忘れないように書いとく (追記)聞いて、自分の記憶した内容をそのまま書いちゃったので、ちゃんとマニュアル通りか確認してなかったので反省 $ man bash 目次 xargsでfunctionを叩く 連想配列もどき 変数間接参照 なんでもかんでもawkで整形しない 文字列の末尾から数えて○文字目を△文字取り出す 番外編:やたら if [ ]; then を使わない ※Markdownで目次の書き方がわからんかった xargsでfunctionを叩く 下の例だと find xxxx | xargs cp xxxx ってかけば良さそうでイマイチだけど、もっと複雑な処理やらせたいときに。 前はこう書いてた #!/bin/bash for x in `find /var/www -name xxx` do cmd="cp -v /hoge/fuga/xxx

    最近覚えたシェルスクリプトの小ネタ - カメニッキ
    kwy
    kwy 2016/07/02
  • echoコマンドの出力の色を変更する - daijirocの日記

    コマンド $ echo -e '\e[VALUE[;VALUE..]mSTRINGS\e[m' VALUE Text attributes 0 All attributes off 1 Bold on 4 Underscore (on monochrome display adapter only) 5 Blink on 7 Reverse video on 8 Concealed on Foreground colors 30 Black 31 Red 32 Green 33 Yellow 34 Blue 35 Magenta 36 Cyan 37 White Background colors 40 Black 41 Red 42 Green 43 Yellow 44 Blue 45 Magenta 46 Cyan 47 White 使用例 " fuga fuga " という文字の色を

    echoコマンドの出力の色を変更する - daijirocの日記
    kwy
    kwy 2016/01/18
  • bashコーディング規約 - Qiita

    モチベーション 一定の品質を保ちたい 書くたびに書き方が変わるのは好ましくない シェバング(shebang)は#!/bin/shではなく#!/bin/bashにする シバン、シェバンとも言われる #!/bin/shは実行環境によって様々なシェルにシンボリックリンクになっているので、bashなら#!/bin/bashと明示しよう インデントは半角スペース2つ 1行が横に長くなり折り返されないように 処理内容および使い方をスクリプト内に記載する(usage()) 何をしてくれるスクリプトか、どのように使うのかusage()関数を用意しよう ヘッダコメントでもいいけど function usage() { cat <<_EOT_ Usage: $0 [-a] [-b] [-f filename] arg1 ... Description: hogehogehoge Options: -a aaa

    bashコーディング規約 - Qiita
  • aws-shell で aws-cli での作業効率を3倍にする - Qiita

    はじめに re:Inventでアナウンスされていたaws-shellプロジェクトがavailableになりました。 ハンズオンしてみたところ、かなりいい感じだったのでまとめました。 参考 https://aws.amazon.com/jp/about-aws/whats-new/2015/12/aws-shell-accelerates-productivity-for-aws-cli-users/ aws-shellとは? githubのリポジトリには、The interactive productivity booster for the AWS CLIとあります。 aws-cliの為の、生産性を向上させるようなインタラクティブなツールという位置づけです。 また、リポジトリを見る限りDeveloper Preview のステータスなので、その点は注意が必要です。 さっそく リポジトリは

    aws-shell で aws-cli での作業効率を3倍にする - Qiita
    kwy
    kwy 2016/01/13
  • 【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita

    きっかけ matsuya-generator-rubyが、cowsayコマンドと組み合わせるとシュールこの上ない。 pic.twitter.com/gxaudeU377 — ぐれさん (@grethlen) 2015, 12月 6 もっと色々やってみたい。 あれ?Shell Script Advent Calendar 2015の22日目の枠残ってるじゃん。 じゃあやろう。 環境 Mac OSX Yosemite 10.10.5の端末上で実施。 zshを使って動作確認してますが、多分bashでも動きます。

    【たのしいな】様々なコマンド達を何も考えずにつないで遊ぶ - Qiita
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita