0

Perl を使用して という別のファイルを作成するにはどうすればよいhello.shですか?

私は試した:

#*perl codes*
#Before this has perl's section of codes
#Now want to create shell script
open FILE , ">hello.sh" or die $!;
chmod 0755, "hello.sh";
print FILE
"#!/bin/sh
echo "Hello World!
";
close FILE;

しかし、これはかなり冗長です。IF-ELSE を使用したい場合、これを行うのは非常に困難です。

何か案が?

編集

私はこれを試しました

print FILE
"#!/bin/sh
if [-d $1]; then
echo "It's a directory at $(pwd)"
else
echo $1 is not a directory
fi
";

ご覧のとおり、Itsは文字列ではないと検出します。ここで何か構文が抜けていませんか?

4

3 に答える 3

3

コンテンツをファイルハンドルに出力する必要がありますFILE

open FILE , ">", "hello.sh" or die $!;
chmod 0755, "hello.sh";

print FILE <<'END';
#!/bin/sh
echo "Hello World!"
END

close FILE;

<<'END' ..perl が変数として認識する文字列を補間しようとしないヒアドキュメント構文です ( $orで始まる@)

'また、または"引用符をエスケープする必要がないことも保証します\

于 2013-05-29T16:36:15.853 に答える
0

これは機能します:

open FILE , ">hello.sh" or die $!;
chmod 0755, "hello.sh";
print FILE "#!/bin/sh
echo Hello World!
";
close FILE;
于 2013-05-29T16:32:38.063 に答える