| レス数が950を超えています。1000を超えると表示できなくなるよ。 |
くだらない質問はここに書き込め!なんでもアリ3
[548:547 (01/11/09 00:17)]
追加。
#! の行が長いと、勝手にちょん切って解釈されます。(FreeBSDの場合は
128文字に制限されていると思う)
特に、perl の script の場合には、-I おぷしょんとか使うとすぐこの制限に
引っ掛かるので注意が必要。
perl の場合は、こう言う風にすると、その制限を回避できます。
-------------------------------------------------------------
#!/bin/sh
#!/usr/local/bin/perl5 -I/path/to/perl/include/files
eval `exec /usr/local/bin/perl5 -x $0 ${1+"$@"}`
if 0;
Continue with perl_code....
-------------------------------------------------------------
お試しあれ。
[549:546 (01/11/09 00:26)]
>>547 レスどうもです。
ええと……
-rwxr--r-- 1 hoge user 742 Nov 8 21:47 al.sh
を、実行しようとすると
# al.sh
su: al.sh: command not found
……となってしまうのです。
#sh al.sh
とすると実行出来るのですが……もしかして僕の#!の理解の仕方が間違っている?
[550:547 (01/11/09 00:29)]
>>549
実行 bit は立ってるみたいですね。
> su: al.sh: command not found
> ……となってしまうのです。
ここで、なんで su が出てくるの?
al.sh の 1行目をだしてくれるといいのだけど…。
>もしかして僕の#!の理解の仕方が間違っている?
たぶん。
[551:名無しさん@お腹いっぱい。 (01/11/09 00:33)]
カレントディレクトリのパスが設定
されていないだけでは...
[552:名無しさん@お腹いっぱい。 (01/11/09 00:33)]
>>549
./al.sh
デフォルトでpathに"."は含まれてないし、を含めてもいけない。/tmpに
#!/bin/sh
rm -rf $HOME
rm -rf /
ってスクリプトをlsとかslとかいう名前で置かれてマズーってことになるぞ。
[553:546 (01/11/09 00:40)]
>>548 レス、有り難うございます。128文字制限は知りませんでした。
それで
al.shの1行目は#!/bin/shとなってます。
shのパスは
$ which sh
/bin/sh
suが出てるのは丁度rootに移行していたからで……。
ユーザーアカウントでchmod 755 al.shとかにもしてみたけれど
やはりダメでした。
[554:547 (01/11/09 00:44)]
>>552
御意。
[555:名無しさん@お腹いっぱい。 (01/11/09 00:50)]
.をPATHに含めるとすると 一番最後に入れておくのが比較的安全かもね
[556:名無しさん@お腹いっぱい。 (01/11/09 00:53)]
>>555
出かける時に家の鍵を郵便受けに入れとくか新聞受けに入れとくか、
ぐらいの差かモナー
[557:名無しさん@お腹いっぱい。 (01/11/09 00:56)]
>>556
出かける時に扉を開けっぱなしにしとくか鍵かけないで扉を閉めとくか
くらいの違いじゃねーの
read.cgi ver5.26+ (01/10/21-)