我有一个关于在shell脚本中嵌入脚本文件的问题。我经常需要创建一个解包其他脚本的shell脚本,但实际上不喜欢注释掉所有嵌入脚本的变量。我的shell脚本的内容示例:
echo "Hello world"
pwd
cat>embedded_perl_script<<EOF
#!/usr/bin/perl -w
\$input = \$ARGV[0];
my \$argc;
\$argc = @ARGV;
print \$input
EOF
perl embedded_perl_script
echo "Finished!"
这段代码工作正常,但我真的想要一种方法来避免注释掉所有嵌入式perl脚本的变量。有什么建议吗?
答案 0 :(得分:1)
试试这个:
echo "Hello world"
pwd
cat>embedded_perl_script<<'EOF'
#!/usr/bin/perl -w
$input = $ARGV[0];
my $argc;
$argc = @ARGV;
print $input
EOF
perl embedded_perl_script
echo "Finished!"
请注意,EOF
已更改为'EOF'
=)
注意:此技术名为 here-doc