「フロントエンドエンジニアのための」というか「フロントエンド開発のための」です。 前半は超初心者向け、後半は中級者向けの内容です。
※ 2014-04-26 追記並びに一部コマンド部分の修正を行いました。( > => >> に変更 ) 個人用のチラシの裏のつもりが予想以上に反響いただいていたようで非常にびっくりしております。 ちょっとしたバッチ処理的なものはさくっとシェルスクリプトでやっています。 で、ログをとっておくべくリダイレクトを噛ますわけですが、 スマートに書く方法を調べたのでメモ。 元ネタは @sechiro さんの bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する でございます。 本当に参考になりました。ありがとうございます。 今までは こんなことやってたわけです。 #!/bin/bash LOGFILE=/tmp/script-log command1 >> $LOGFILE 2>&1 command2 >> $LOGFILE 2>&1 ... >> $LOGFILE 2>&1
apacheの設定をしていたら #/etc/apache2/sites-available# a2ensite ------------------------------------------------------------------- Which site would you like to enable? Your choices are: default1 Site name? /usr/sbin/a2ensite: line 16: [: =: unary operator expected This site is already enabled! -------------------------------------------------------------------- こういうエラーが出るので、ぐぐってみたところ・・ 変数に格納されている文字列比較におい
って入力したとするじゃないですか。ここで、grep の第一引数がたいぽってることに気づきます。それを直したくて十字キーの左ボタンおしっぱにしてカーソルを移動させるのもいいですが、一発でtsetのところまで行きたいじゃないですか。そういう時はおもむろにControl+rを押してから、eを押します。すると カーソルがこの位置に移動します。Emacsライクに。ここでTabを押すと検索が終了してカーソルがこの位置で普通の入力モードに戻ります。 便利ですね!これで本エントリのメインディッシュは終わりです。 その他よく使う検索を終了する入力としてControl+b(カーソルを左に移動), Control+f(カーソルを右に移動), Control+d(カーソル右の文字(今回の場合e)を削除)などがあります。 注意点としては、EmacsだとEnterを押すと検索が終了するんですが、シェルでEnterを押
なぜ、「.bash_profileと.bashrcの違い」をすぐ忘れてしまうのか? ずばり、 「どっちに書いても、実用上は対して変わらない」 からでしょう。 ちょこっと環境変数を定義する程度なら、どっちに書いても動くのです。 どっちに書いてもそれなりに動く → 違いがわからない → 忘れる これが魔の忘却ループです。 .bash_profileと.bashrcの違いを絶対に忘れない方法 ではどうすればよいか? 「違いを自分の目ではっきりと見ること」 これに尽きます。 これから、一緒に手を動かして簡単な実験をしてみましょう。 5分ほどで終ります。 準備はいいですか? ① .bash_profileにechoを書いてみる .bash_profileの最下行に1行追加します。 echo "\(うぇるかむようこそプロファイル)/" ② .bashrcにechoを書いてみる .bashrcの最下行に
rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ
TwitterのTLで知ったのだが、少し前に海外の掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと
Bashmarks is a shell script that allows you to save and jump to commonly used directories. Now supports tab completion. Install git cloneBashmarks is a shell script that allows you to save and jump to commonly used directories. Now supports tab completion. Install git clone git://github.com/huyng/bashmarks.git make install source ~/.local/bin/bashmarks.sh from within your ~.bash_profile or ~/.bash
SubversionからGitに乗り替えてからというものコミット漏れ/忘れが激減(Changed but not updatedとかUntracked filesって出るし)したんだけど、今度はpush忘れをするように……。 なんかローカルでコミットした時点で満足しちゃうんだよね。で、帰宅してから同期しようと思ったら何も流れてこなくてうわぁぁぁぁぁ!!て。 コミットしたらすぐpushっていうのはrebaseとかしづらくなっちゃうからちょっとやだし、実はgit-svnで運用してるのでイライラで爆発しちゃいそう。 なので帰宅前に忘れずにpush(dcommit)できればそれでいいんだけど、毎日定時で帰れるほど平和な生活してないのでアラームを仕掛けるという案もいまいち。 で、色々考えた結果、プロンプトにpush済みかそうでないか表示できたらいいかも!と思ったので早速やってみた。 git bash
bash の解説なんて、ネット上には結構あったりするのだが、これをわざわざ公開しようというのは、次の理由による。 某ソフトハウスでのUNIX講座用に書いてしまったから。 ネット上にある bash 解説だと、表面的な構文解説程度であり、きっちりスクリプト言語として使い倒すレベルの解説はあまりない。まあ、プログラミング言語として凝ったサンプルもやってみようじゃないの、というノリで割とディープに解説する。 アクセスを増やすための人気取り(苦笑)。 まあ、そんな不純な目的による bash 解説である。とはいえ、日常的に使い慣れている bash であっても、「え、こんな使い方があったの!?」という発見もあることであろう。苦笑しながらでも読んでくれたまえ。だから、初歩的なリダイレクションなんかは解説しないからそのつもりで。 ちなみに参考書としたのはオライリー・ジャパン刊「入門 bash 第2版」である
デフォルトのファイルディスクリプタは 0:標準入力、1:標準出力、2:標準エラーを 示しています。またこの他に 3~9 (実装依存) まで使用できます。
シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。 またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。 シェルスクリプトを実行するには実行権限および読み込み権限が必要です。 またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。 スクリプトファイル内でも、シェル変数を定義することができる。またその変数を参照する場合は変数名の前に" $ "を 付けることで参照できる。変数名に使用できる文字は英数字および" _ "(アンダーバー)であり先頭は英字を使用しなくてはならない。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く