2010年2月27日土曜日

Google Go Languageをgeditでハイライトさせる。

参考ページ

参考ページのgo-jp.langっていうリンクをクリック。

ダウンロードしたファイルを
$sudo mv Downloads/go-jp.lang /usr/share/gtksourceview-2.0/language-specs
などで移動する。

geditを起動する。

[表示] -> [強調表示モード] -> [ソース]とたどり、中に「go」があることを確認。

本当にハイライトできるか確認したい場合は、goのところのラジオボタンをクリックして、funcなどの予約語を入力してたしかめる。

Google Goをスクリプトでインストールする。

本家サイト(Google Go Language)
参考ページ

$source install_go.sh
管理者権限を与えずにインストールを開始する。

install_go.sh
#!/bin/bash

#make working directory
mkdir -p ~/gcode/go


#set environment variable
GOROOT=$HOME/gcode/go
GOBIN=$GOROOT/local/bin

echo "export GOROOT=$GOROOT" >> ~/.bashrc
echo "export GOOS=linux" >> ~/.bashrc
echo "export GOARCH=386" >> ~/.bashrc
echo "export GOBIN=$GOBIN" >> ~/.bashrc
echo "export PATH=$PATH:$GOBIN" >> ~/.bashrc
source ~/.bashrc


#prepare to build and install Google go 
sudo apt-get install python-setuptools python-dev build-essential mercurial bison gcc libc6-dev ed gawk make


#Download Google Go Sourcecode
hg clone -r release https://go.googlecode.com/hg/ $GOROOT


#build and install go
mkdir -p $GOBIN
cd $GOROOT/src
./all.bash >> install_log.txt


#make "HelloWorld"
echo "package main" >> $GOROOT/hello.go
echo 'import "fmt"' >> $GOROOT/hello.go
echo "" >> $GOROOT/hello.go
echo "func main(){" >> $GOROOT/hello.go
echo '  fmt.Printf("Hello 世界\n")' >> $GOROOT/hello.go
echo "}" >> $GOROOT/hello.go


#Compile and Execute HelloWorld -> It's not works in bash
#8g $GOROOT/hello.go
#8l -o $GOROOT/hello $GOROOT/hello.8
#$GOROOT/hello

#!/bin/bash

#make working directory
mkdir -p ~/gcode/go


#set environment variable
echo "export GOROOT=$HOME/gcode/go" >> ~/.bashrc
echo "export GOOS=linux" >> ~/.bashrc
echo "export GOARCH=386" >> ~/.bashrc
echo "export GOBIN=$GOROOT/local/bin" >> ~/.bashrc
echo "export PATH=$PATH:$GOBIN" >> ~/.bashrc
source ~/.bashrc


#prepare to build and install Google go 
sudo apt-get install python-setuptools python-dev build-essential mercurial bison gcc libc6-dev ed gawk make


#Download Google Go Sourcecode
hg clone -r release https://go.googlecode.com/hg/ $GOROOT


#build and install go
mkdir -p $GOBIN
cd $GOROOT/src
./all.bash >> install_log.txt


#make "HelloWorld"
echo "package main" >> $GOROOT/hello.go
echo 'import "fmt"' >> $GOROOT/hello.go
echo "" >> $GOROOT/hello.go
echo "func main(){" >> $GOROOT/hello.go
echo '  fmt.Printf("Hello 世界\n")' >> $GOROOT/hello.go
echo "}" >> $GOROOT/hello.go


#Compile and Execute HelloWorld -> It's not works in bash
#8g $GOROOT/hello.go
#8l -o $GOROOT/hello $GOROOT/hello.8
#$GOROOT/hello
最初の作業ディレクトリのところと8行目の環境変数GOROOTの定義、環境変数GOBINの定義はお好みでやるとしてそれ以外はほっといてもインストールできる(はず、自分はできた)。

っていうかgccの開発者がそのうちgccにgoのコンパイラ統合するって話だから、こんなことしなくてもよかったのかもしれない。

追記:
アップデートしたい場合は
cd $GOROOT/src
hg pull
hg update release
./all.bash
とする。結構な頻度でソースコードは変更されてるみたい。

2010年2月26日金曜日

Ubuntu9.10 Server EditionをUSBにインストールする。

参考ページ

途中のパーティションのところでUSBを選択するのが面倒くさいので、HDDを最初に抜いておく。
後は、手順どおりに進めばインストールされる。

起動後、◆に文字が化ける場合。
$ nano .bashrc
最後の行に
export LANG=C
と追加。
$exit
で再度ログイン。

起動後、インターネットに接続できない場合
とりあえず、
$ifconfig
表示された中にeth0,1,2...が無く、loだけだったら

$ sudo lshw -C network
logicalのところに表示されているやつ。ex) eth0とかeth1とか。を確認
$cat /etc/network/interfaces
で表示されるやつ
ex)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
の中の「eth0,1,2...」がさっき確認したlogicalのところに表示されているやつと同じか確認。
違っていた場合、
$ sudo nano /etc/network/interfaces
でlogicalのところに表示してあるやつにeth0,1,2...を修正。
$sudo reboot

$sudo /etc/init.d/networking restart

自分はこれで何とかなった。

2010年2月25日木曜日

bashで複数のコマンドを一度に出す方法

誰かのブログ読んでて偶然不思議なコマンドの書き方を見つけて、実行してみて発見。

$ mkdir foo/;cd foo/
コマンドの間にセミコロンを入れることで可能になる。