タグ

shellに関するkoda3のブックマーク (13)

  • 何度も同じコマンド調べ直すのやめませんか? - Qiita

    タイトルに煽りが足りない!と指摘を受けたので頑張って変えてみました。 pet というツールを作ったら公開して3日でStarを1000も頂きました。当に感謝です。 対象の方 「あーあのコマンド何だっけ。前も調べたけど忘れちゃったからまた調べよう...」 となる人 対象じゃない方 「Ctrl-rで検索すればすぐ見つかるし、よく使うコマンドはaliasに登録してるから全然問題ない」 という人 デモ 色々と書く前に動画を見てもらえれば雰囲気がつかめると思います。 詳細は以下のREADMEに書いてあります。ちなみにDescriptionは日語でも動きます。 https://github.com/knqyf263/pet 概要 僕はいつも「あのコマンドなんだっけ...」となってしまいます。 もちろんpecoとか利用させていただいているのでコマンド履歴からの検索はしやすくなっているのですが、以下のよ

    何度も同じコマンド調べ直すのやめませんか? - Qiita
    koda3
    koda3 2017/03/23
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
    koda3
    koda3 2016/12/08
  • BashのPS1についての忘備録 - HRR Co., Ltd.

    はじめに… 異なるPC、サーバーに設定しようと思うたびに、その書式や設定の仕方を忘れるのがプロンプトの表示設定。 その仕組み、書き方を残しておこうと思います。 PS1="\[\033[1;34m\][\$(date +%Y%H%M)][\u@\h:\w]$\[\033[0m\] " こういうやつですね。 私は時間が空くと読めなくなります(笑)。 最初にばらしてしまうと、私は↓のように設定しています。 PS1="\[\033[0;34m\]\u\[\033[0;36m\]@\h\[\033[0;37m\]:\w$\[\033[0m\] " 「userName@serverName:~/work/$ 」 こんな感じで表示されます。 参照元 ここを見れば書いてあるのですが…。 でも長いので探しづらいですし、英語ですしね…。 www.gnu.org ちなみにPS1とは? 「The primary

    BashのPS1についての忘備録 - HRR Co., Ltd.
    koda3
    koda3 2016/10/19
  • MySQLのコマンドラインで-pオプションを使わずにパスワードを指定する方法

    こんにちは。CTOの馬場です。 今回もインフラエンジニア向けにちょっとした情報を紹介します。 今回はバッチ処理でMySQLに接続するときに、パスワードをうまく受け渡す方法を紹介します。 まずは-pオプションでコマンドラインに書く方法があります。が、プロセスツリーに表示されてしまうため安全とは言えません。そこで2つの方法を紹介します。 .my.cnfに設定する .my.cnfなしでなんとかする .my.cnfに設定する ユーザのホームディレクトリに.my.cnfというファイルを置いて下記の内容を設定することで、パスワードを指定することができます。このパスワードは標準のMySQLクライアント全てで使用されます。 ※ファイルの権限は600に設定しておきましょう。 [client] password="my_password" この方法だと、ユーザごとにパスワードが分かれている場合にはうまく対応で

    MySQLのコマンドラインで-pオプションを使わずにパスワードを指定する方法
  • シェルスクリプトでファイル名に日付を付ける

    TODAY=`date '+%F'` tar czf /home/dacelo/backup/html.$TODAY.tar.gz /home/dacelo/html これを1日に1回実行すれば、ファイル名に日付の付いたバックアップファイルが生成されます。 さらに機能の日付を作る変数を追加して以下のようにすれば、自動的にn日前のバックアップファイルを削除してくれます。 TODAY=`date '+%F'` YDAY=`date -d '2 days ago' '+%F'` tar czf /home/dacelo/backup/html.$TODAY.tar.gz /home/dacelo/html rm /home/dacelo/backup/html.$YDAY.tar.gz

    シェルスクリプトでファイル名に日付を付ける
    koda3
    koda3 2016/06/20
  • Shell Scriptを書くときのテクニック10選 | κeenのHappy Hacκing Blog

    κeenです。LLで書かれた動作のもっさりしてるコマンドラインツールよりシェルスクリプトが好きです。 しかしシェルスクリプトを書く時にはハマり所も多いです。ということでハマりそうなところと対処法を共有しますね。 1. 変数は基クォート 変数には空白が入り得ます(特にパス名とか)。あるいは空である可能性もあります。

    Shell Scriptを書くときのテクニック10選 | κeenのHappy Hacκing Blog
    koda3
    koda3 2016/06/20
    “set -e”
  • 実務で役立つシェル系Tips - Qiita

    パスの末尾に/があるかないかを気にしたくない 文字列を結合してパスを生成したりするときに、パスを格納した複数の変数を文字列結合するときがあります。 dirHome="/var/lib/hoge/" workDirName="work" echo "${dirHome}${workDirName}" # /var/lib/hoge/workと表示される しかし、dirHomeやworkDirNameのような変数をコンフィグファイルで設定していたり、実際に参照するところと定義箇所が遠いときがあると厄介なことが起こりえます。 例えば、下記のようにdirHomeの末尾に/がなかったらどうなりますでしょうか?

    実務で役立つシェル系Tips - Qiita
  • シェルスクリプトで書かれた軽量コンテナ MINCS がすばらしい (1) - TenForward

    これはだいぶ前に書いたエントリです。MINCS作者による最新の解説があるのでそちらもご覧ください。 (2016-11-21追記) コンテナは使いたいけど、たくさんコンテナを起動すると結局それぞれのコンテナに対するセキュリティアップデートなどのメンテナンスは必要だし、コンテナ内独自のプログラムやライブラリ以外はホストと共有したいよね、って話が出てきたりします。みんな考えることは同じで、bind mount を使えば良いよね、って話はでてきてました。 こないだもブログで紹介した kazuho さんの jailing 私が LXC でも結構簡単にできるよ、っていう提案を兼ねて作った lxc-bind こないだのLinuxConでもDockerでたくさんのオプションを並べて、色々工夫して bind mount を使ってやってる発表もありました (Using Docker for existing

    シェルスクリプトで書かれた軽量コンテナ MINCS がすばらしい (1) - TenForward
  • GitHub、JavaScriptでデスクトップアプリが作れるライブラリAtom Shellを、Electronに改称

    GitHubは、4月23日(現地時間)にJavaScriptによってデスクトップアプリケーションを作成できる、クロスプラットフォームのデスクトップアプリケーションシェルAtom Shellの名称を、Electronに変更した。今回の改称に合わせて、公式サイトのURLも変更する。 Electron(旧Atom Shell)は、もともとAtomエディタでChromiumやNode.jsのイベントループやネイティブAPIを用いるために作られた。しかし、テキストエディタのサポートだけが目的ではなく、Web技術を使用したクロスプラットフォームのネイティブデスクトップアプリケーション開発の実現も目指していた。 開発開始から2年が経過し、Electronは自動アプリアップデートWindowsインストーラー、クラッシュレポートなど、ネイティブアプリケーションに役立つさまざまな機能を、JavaScrip

    GitHub、JavaScriptでデスクトップアプリが作れるライブラリAtom Shellを、Electronに改称
  • ターミナルのコマンド履歴入力がスーパー楽になるzsh + oh-my-zsh + pecoの導入手順メモ。 – 和洋風KAI

    zsh + oh my zsh + pecoの利点。 bushのみに比べて、zsh + oh my zsh + pecoを導入すると飛躍的にコマンドが打ちやすくなります。 どういうことかというとこういうこと。↓↓ つまりcontrol + Rによるコマンド履歴検索がものすごく便利になります。 1文字ずつコマンド履歴を検索し、それをリストアップしてくれます。一度打ったコマンドはすべてもうフルに入力する必要がなくなるくらい快適になります。 ただこの機能を使うだけなら、oh-my-zshはいらないのですが、git回りが便利になりますし、zshが自動アップデートされますし、なにしろ設定しておかないとpecoとoh-my-zshが両立できないので、oh-my-zshの導入方法も書いておきます。 STEP 1. zshを導入する。 zshを導入するのは簡単です。 CentOSの場合は、以下のコマンドを

    koda3
    koda3 2015/03/23
  • bashスクリプトで子プロセスを全部殺すイディオム - Qiita

    シェルスクリプトでバックグラウンドで子プロセスを動かしている場合、何も考えずに書くと元のプロセスを殺しても子プロセスが残ってしまいます。例えばこんな風に書くと:

    bashスクリプトで子プロセスを全部殺すイディオム - Qiita
  • [D] Windowsはターミナルがダメだから使えないってのは過去の話?

    気づいたら自宅でもオフィスでもすっかりWindowsユーザーになっちゃって、Win10情報にも一喜一憂してるという、完璧なる転びマカーぶりを発揮してるドリキンです。 基的にWinである不便もほとんどなくなってしまった(というかむしろ快適に感じる)今日この頃なんですが、唯一にして最大とも言えるWindowsの弱点はいうまでもなくまともなターミナルコンソールがないことですよね? とはいえ、最近はコンソールではNodeJSだけが動けばいいやという状態だったので、コマンドプロンプトでごまかしたりはしてたんですが、流石にコマンド履歴どころかコピペすらまともに出来ないのはどうかなと一念発起してWindowsでZshくらいは使えないかなとググってみたらよさげなモノを発見! Babun | A windows shell you will love! それがBabunというWindows用のターミナルア

    [D] Windowsはターミナルがダメだから使えないってのは過去の話?
  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

    シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
    koda3
    koda3 2015/01/26
  • 1