Bash で、エスケープシーケンスで使える色を調べる方法

以下のスクリプトを作成して実行。

vi color.sh
chmod +x color.sh
./color.sh
#!/bin/bash

export txtrst='\x1b[00m'      # Reset

echo
for i in {0..255} ; do
  printf "\x1b[00;${i}m ${i}${txtrst}"
done
echo

echo
for i in {0..255} ; do
  printf "\x1b[38;05;%03dm 38;05;%03d " ${i} ${i}
  if [ $(( ${i} % 8 )) -eq 7 ] ; then
    echo
  fi
done
echo

ここで色の一覧が出てくるので、以下のように数字を指定して使用する。

続きを読む

Apache2 が root 権限で動いているのはなぜ?

ps -ef | grep apache2

とすると、以下のように Apache2 が root で動いている。

www-data  2115  2061  0 06:09 ?        00:00:34 /usr/sbin/apache2 -k start
root      3753     1  0 12:02 ?        00:00:01 /usr/sbin/apache2 -k start
www-data  3756  3753  0 12:02 ?        00:00:00 /usr/sbin/apache2 -k start
www-data  4004  2061  0 06:21 ?        00:00:31 /usr/sbin/apache2 -k start
www-data  4015  2061  0 06:21 ?        00:00:25 /usr/sbin/apache2 -k start
www-data  5047  3753  1 12:34 ?        00:00:20 /usr/sbin/apache2 -k start

なぜだろう?ググったら、

続きを読む

Perl で、「配列とハッシュの組み合わせ」のデータ構造を作る

  1. 配列の頭に付けるのは「@」であるから、その後の配列の要素の列挙においてハッシュを宣言する。このときハッシュの各要素は {...} でくくって 「key => value」 としている。それぞれの要素はカンマ(,) で区切る。配列の宣言の最後はセミコロン (;) である。
  2. 各要素へのアクセスはまず配列を foreach でほぐす。ほぐした各要素は $db->{key} のように -> でアクセスできる。

 

続きを読む

Perl で、「配列の配列」のデータ構造を作る

Perl では配列は、@array = ('aaa', 'bbb', 'ccc') のように書くが、「配列の配列」のデータ構造を表現するにはどうしたらいいのだうろう?

以下にサンプルコードを示す。$songs という配列の先頭は「$」となっている。その内側も配列なのに (...) ではなくて [...] になっていることに注目してほしい。これは配列の配列を参照で表現するためである。アクセス方法は foreach のところを参考にしてほしい。

続きを読む