シェルスクリプトを作成する前に知っておくと良いこと
シェルスクリプトの文法チェックを行うには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/780chshsyntax.html
シェルスクリプトをデバッグするには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/784debugsh.html
シェルスクリプトの一部分をデバッグするには
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/787debugsspert.html
ShellEd : Eclipseプラグインのシェルエディター
http://sourceforge.net/projects/shelled/
2010年3月26日金曜日
2008年10月2日木曜日
sudoではまった
Linuxコマンド「sudo」。sudoの使い方を同僚に説明する時に、先生役の自分がはまってしまった(汗)
現在利用しているローカルPC「mypc1」に、Linuxユーザ 「user1」「user2」 がいるとします。 今、user1からuser2のユーザでシェル「/opt/hoge/ls.sh」を実行したいと考えています。
シェルの中身は以下のようにしました。
たったそれだけ。さて実行だ。
しかし、たったこれだけの処理なのに残念な結果が返ってきた。
なんだコレーッ! むぅ~、lsをするだけで、なんでフォーマットエラーなんだッ! 悩むこと1時間。。。 これを読んでいるLinuxユーザの方なら、もぅお分かりになっているかも? はぃ、シェルが間違えていました。
「#!/bin/bash」の行が足りなかったのですね(泣) 初歩的な漏れでした、こんなことがないよう、皆様をお気をつけください。
#
# キーワード「sesh: Error execing」でGoogleで検索しても
# 日本語ドキュメントがでてこなかったのでこの記事を書いてみました。
# 同じことで迷った方の手助けになればと思います。
#
現在利用しているローカルPC「mypc1」に、Linuxユーザ 「user1」「user2」 がいるとします。 今、user1からuser2のユーザでシェル「/opt/hoge/ls.sh」を実行したいと考えています。
シェルの中身は以下のようにしました。
ssh user2@mypc2 ls -al
たったそれだけ。さて実行だ。
[user1@mypc1 ~] $ sudo -u user2 /opt/hoge/ls.sh
しかし、たったこれだけの処理なのに残念な結果が返ってきた。
sesh: Error execing /opt/hoge/ls.sh: Exec format error
なんだコレーッ! むぅ~、lsをするだけで、なんでフォーマットエラーなんだッ! 悩むこと1時間。。。 これを読んでいるLinuxユーザの方なら、もぅお分かりになっているかも? はぃ、シェルが間違えていました。
#!/bin/bash
ssh user2@mypc2 ls -al
「#!/bin/bash」の行が足りなかったのですね(泣) 初歩的な漏れでした、こんなことがないよう、皆様をお気をつけください。
#
# キーワード「sesh: Error execing」でGoogleで検索しても
# 日本語ドキュメントがでてこなかったのでこの記事を書いてみました。
# 同じことで迷った方の手助けになればと思います。
#
2008年8月29日金曜日
とにかくプロキシの設定をする
# この記事はコチラに移動しました。 最新版はコチラをご覧下さい。
社内にLinux PCを導入したのだけれど、そのLinux PCからインターネットに接続するためには会社のプロキシを経由させないといけないため、Linux PCにインストールされたアプリケーションにプロキシの設定をしないといけない・・・・・・そんなときに参考にしてください。
尚、私が利用している環境は CentOS, RedHat です。
本文では自社のプロキシを「proxy.mycompany.co.jp:8080」と仮定します。ここは環境に合わせて書き換えてください。
[yum]
「/etc/yum.conf」に以下の記述を追記します。
proxy=http://proxy.mycompany.co.jp:8080/
[wget]
「/etc/wgetrc」に以下の記述を追記します。
http_proxy=http://proxy.mycompany.co.jp:8080/
[rpm]
rpmコマンドを実行する際に、オプションで指定する。
$ rpm --httpproxy [プロキシサーバのIPかアドレス] --httpport [ポート番号] --import http://hoge.org//hoge/moge
[Apache]
Apacheのプロキシ設定で、さらにプロキシを通すようにする場合。(多段プロキシ)
プロキシ関連の設定をしている箇所に以下を追記。
ProxyRemote http http://proxy.mycompany.co.jp:8080/
※この文章は気づいたら、どんどんアプリを追記していく予定。
2009.03.25 - rpmコマンドの設定方法を追加。
社内にLinux PCを導入したのだけれど、そのLinux PCからインターネットに接続するためには会社のプロキシを経由させないといけないため、Linux PCにインストールされたアプリケーションにプロキシの設定をしないといけない・・・・・・そんなときに参考にしてください。
尚、私が利用している環境は CentOS, RedHat です。
本文では自社のプロキシを「proxy.mycompany.co.jp:8080」と仮定します。ここは環境に合わせて書き換えてください。
[yum]
「/etc/yum.conf」に以下の記述を追記します。
proxy=http://proxy.mycompany.co.jp:8080/
[wget]
「/etc/wgetrc」に以下の記述を追記します。
http_proxy=http://proxy.mycompany.co.jp:8080/
[rpm]
rpmコマンドを実行する際に、オプションで指定する。
$ rpm --httpproxy [プロキシサーバのIPかアドレス] --httpport [ポート番号] --import http://hoge.org//hoge/moge
[Apache]
Apacheのプロキシ設定で、さらにプロキシを通すようにする場合。(多段プロキシ)
プロキシ関連の設定をしている箇所に以下を追記。
ProxyRemote http http://proxy.mycompany.co.jp:8080/
※この文章は気づいたら、どんどんアプリを追記していく予定。
2009.03.25 - rpmコマンドの設定方法を追加。
登録:
投稿 (Atom)