zoomzoomzoom

解決方法の共有に主眼を置くブログ・他雑談

シェルスクリプト高速開発手法入門 CMS

上田隆一さんというシェル芸の達人の本で修行をしている。

 

タイトルの本を購入させていただいた。

修行の最中、躓いたところと解決方法を共有する。

なお、躓いた事象のみ記述してあることもあるのであしからず。

 

コマンド自作:

pwd が ~/bashcmsディレクトリの状況で

pushコマンド(ソース下記)を自作した後、~/bashcms/binに保存。

実行しようとして、ローカル環境で./bin/push を実行。

 

pushコマンド:

1#!/bin/bash
2
3 pagedir=$(dirname $0)/../pages
4 remote=160.16.88.188
5
6 rsync -av --delete --exclude ',*' "$pagedir/" "$remote:/var/www/bashcms/pages/"

 

...するとエラーメッセージとして下記が表示される。

bash: ./bin/push: /bin/bash: 誤ったインタプリタです: 許可がありません

 

解決策模索中。

bashがうまく動いてくれてないのかとも思ったが、cd とかディレクトリ移動ちゃんとできているし、

一度もchshとかしていない。

 

 

解決した。

/bin/bashが怪しかったので、ディレクトリ権限を見てみると、閲覧すらできないようになっていた。

 chmod 777で権限変更してやると、ディレクトリの中身が見れるようになった。

そして件の./bin/pushも実行できた。

 

どうやら、binディレクトリを誤ってもう一個作ってしまって消してという作業があったためか、デフォルトのbinディレクトリの権限が変更されていて、自作したpushコマンドの一行目のシバンがうまく機能できなくなっていたようだ。 と自分の中では納得した。

 

追記(つまり新たな問題の発生)

template.6.htmlというのを作るところまで進めた。

URLをブラウザに打ち込んで自分が作成したサイトを眺めるのはいいものだ。

しかし、文字化けしているぞ。

 

<body>

<header>

ここが全部文字化け

</header>

</body>

 

特定のタグで囲まれた箇所だけが文字化けってありえるのか。。。調査中。