タグ

bashに関するledlizerdのブックマーク (11)

  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
  • bashでmemcachedを実装しました! - Qiita

    TL;DR bashとsocatコマンドを利用してmemcachedを実装しました。 MakeNowJust/bashcached - GitHub 文 はじめに bashで実装したmemcachedです https://t.co/5UQk8x3wqw — さっき作った@3日目東R-13a (@make_now_just) 2016年10月28日 bashでmemcachedを実装したらHacker Newsでちょっと話題になったみたいなので記事にします。 とりあえずインストール方法 インストール方法です。 まずsocatが必要なので、

    bashでmemcachedを実装しました! - Qiita
  • 最近覚えたシェルスクリプトの小ネタ - カメニッキ

    シェルスクリプト神から教えていただいた。忘れないように書いとく (追記)聞いて、自分の記憶した内容をそのまま書いちゃったので、ちゃんとマニュアル通りか確認してなかったので反省 $ 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

    最近覚えたシェルスクリプトの小ネタ - カメニッキ
  • そのシェルスクリプトもうちょっとシンプルに書けそう 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
  • Bashのよくある間違い | Yakst

    原文は2015年8月22日時点のものを利用しており、それ以降に追記、更新されている可能性があります。 翻訳は原作者の許可を得て公開されています。 Thanks for GreyCat! このページはBashプログラマーが陥りがちなよくあるエラーについてまとめました。以下の例は全てなんらかの欠陥があります。 クオートをいつも使い、どんな理由があっても単語分割を使わなければ、多くの落とし穴からあなた自身を守ることができます!単語分割はクオート表現をしない場合にはデフォルトでオンになっている、Bourneシェルから継承された壊れたレガシーな設計ミスです。落とし穴の大半はクオートされていない展開になんらか関連し、単語分割しその結果をグロブします。 1. for i in $(ls *.mp3) BASHプログラマーたちがループを書く際にもっとも犯しがちなよくあるミスは以下のような感じです。: f

    Bashのよくある間違い | Yakst
  • シェルスクリプトでの文字列、ファイルの行数の数え方: wc -lとgrep -c ''

    B! 95 0 0 0 シェルスクリプトで行数を数える、と言った場合に、 勝手に付けられたりする最後の行の改行コード等が 振る舞いを変える事があるのできちんと把握しておこう、と言う話。 以下は特に明記して無ければMacでBash 4.3.32での作業。 Zshは5.0.5です。 ですが、特に明記してないところでの作業については Bash/Zsh、GNU/BSDの区別無く使える、としているものです。 wc -l grep -c ‘’ 外部コマンドを使わずに数える while 配列化 ()を使った普通の配列化 Bash: readarray Zsh: $f まとめ wc -l ファイル等の行数を数える、と言ったらまず思い浮かぶのがwc。 行数、単語数、文字数を数えてくれるコマンドで、-lで行だけを数えます。 $ printf "$value" | wc -l 5 $ wc -l file.tx

    シェルスクリプトでの文字列、ファイルの行数の数え方: wc -lとgrep -c ''
  • Linux初心者から抜け出すための最適本「シェルプログラミング実用テクニック」

    しばらく、LinuxやらMacのターミナル触ってると、こんなことを感じる人も多いのでは。 「cdやらrmやら、基的な事はできるようになったなぁ。でも、あと、なにができるんやろ?」 この読めばわかりますよ。ホイサッサ。そして、Linux世界感が広がります。 書を手にとったきっかけ Linux、今までも、なんとなくは触る機会があった。仕事ではAmazon Linuxを2年ほど使っていたし、このブログもさくらのVPS上のCent OSで動いているし、まぁ最低限の使い方は知っていたわけなんですよね。 Macも元はBSD UNIXベースなだけあって、何気にUnix、Linux環境はそこらへんに存在している。 ただ、最近入った現場が、あろうことか、「ネットに繋げない」という、もう自分にとっては窒息して死んでしまいそうな環境だったんですよ。 日々の仕事においても、コマンドの使い方を調べるのにも一苦

    Linux初心者から抜け出すための最適本「シェルプログラミング実用テクニック」
  • bashで覚えておきたいショートカットキー(キーバインド) | 俺的備忘録 〜なんかいろいろ〜

    Linuxでデフォルトのログインシェルといえばbash。sshで接続するにしても、bashは必ず使うものだ。 今回は、そんなbashで利用できるショートカットキー(キーバインド)で覚えておくと便利なものをピックアップしてみた。 1.カーソル移動系 カーソルを移動する際に便利なショートカットキー。 こうしてみると、意外と知らなかったショートカットキーがあったりする。 コマンド 機能

  • ターミナルの表示が崩れたときの対処法

    よくターミナルで、catとかlessとかファイルなどを見たときに2バイト文字が化けて出力されて以降にlsなどの出力がガタガタになるときありますよね。 あれ、ないですか?それは幸せですね。 僕はよくあるんですけど、そういうときの対処法を昔だれかに聞いて、それ以来この状態になるとずっと今回紹介する技を使ってきています。 やり方は簡単です、ターミナルに以下のコマンド(?)を打つだけです。 % echo ^[c でも、単純に「echo スペース ハット ブラケット c」って打ってもだめです。 実際には「echo Ctrl-v Esc c」と打っています。 このあとリターンを押せば、あら不思議。 ガタガタしてた出力が直ります。 他にも対処法あると思いますが、僕がよく使うのはこれです。 これはエスケープシーケンスの1種で、この用途以外にもターミナルで色などを変えることもできます。ネットで調べると色の定

  • cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記

    なお、時間設定方法や書式についてはここでは解説しません。 拙作「くろんメーカ」をお使いください。 くろんメーカ - crontab用のコマンドを自動で生成します。 そのままコピペしてお使いください。 crontab -e で直接編集しない 有名な話ですが、crontab -r とやってしまうと全てが一瞬で消え去ります。 まさにバルス! 間違えて crontab -r してしまい、crontab をふっとばしてしまった。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。 crontab -r を安全にする - antipop 必ずローカルファイルに設定を書いたうえで、それを反映させるようにしましょう。 $ crontab -l > ~/crontab # 現在の設定をバックアップ $ vi ~/crontab # ローカルファイルを編集 $ crontab < ~/cro

    cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック · DQNEO日記
  • インフラエンジニアとしてよく使うコマンド集 - Qiita

    私がよく使うコマンド集となります。 参考に頂けたら幸いです。 随時更新するかと思います。 コマンドを打つ前に覚えておく事 ①サーバに負荷がかかるコマンドを打つ場合、下記をコマンドの先頭に付けましょう $ ionice -c 2 -n 7 nice -n 19 # -c 2:ディスクI/Oの実行優先度をベストエフォートで実行 # -n 7:さらにこのコマンドの優先度を低くする # -n 19:プロセスの実行優先度を一番低くする

    インフラエンジニアとしてよく使うコマンド集 - Qiita
  • 1