Category Archives: Perl

Perlのsystem関数でシェルスクリプトを実行しようとしたら

sudo: sorry, you must have a tty to run sudo

というエラーになった。シェルスクリプトの中にchownをやりたくてsudoコマンドを書いていたんだけど、恐らくその箇所で失敗しているみたい。

調べてみたらsudoの設定ファイルを変更すればよいと書かれてあった。

1・「visudo」で設定ファイルを開く

2・設定ファイルの56行目あたりの

Defaults    requiretty

をコメントアウトにする。

3・失敗したシェルスクリプトを実行する

4・おそらく成功する

でうまくいくと思います。

今日は海の日なので休みでした。この3連休で勉強(仕事)をやろうと思っていたけれど、結局この時間になってもやっていません。

そしてさすがに何かやらないとまずいと思ったので自分のPCで前自分で作った奴(プログラム)を動かしてみました。

しかし

(9)Bad file descriptor: don’t know how to spawn child process

みたいにエラーがでて、外部cssと外部jsファイルが動きませんでした。

クッソ~~~めんどくせえなぁ~~~~~~

と思いつつ解決策を調べました。

するとapacheの設定に問題がある感じでした。(予想通り☆・・・・・(多分))

ちなみに俺はwindowsのapacheのcgi-binフォルダで動かそうとしていました。(バーチャルホストなどはしていません)

その説明によるとなんかデフォルトではcgi-binフォルダにあるファイルはすべて実行ファイルとして見られてしまうから、

cssファイルやjsファイルまたはgif、jpeagファイルなどもエラーでだめらしいのです。

まぁ、日記をダラダラ書くのもめんどくさいので結果を言うとapacheの設定のディレクトリタグの中に下記のように書いたら見事に

cssファイルとjsファイルが動きました。ミミ☆

<Directory “C:/Program Files/Apache2.2/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
AddHandler image/gif .gif
AddHandler image/jpg .jpg
AddHandler text/css .css
AddHandler text/javascript .js

AddHandler text/html .html

</Directory>