我在写一个名为“NewProject”的Bash,它创建了第二个名为“compile”的Bash脚本。这两个脚本都必须能够将参数作为输入。我的问题是我不能在编译脚本中写入“$ 1” - 这只是将NewProject的第一个参数的内容复制到编译脚本中。这是创建编译脚本的NewProject脚本的一部分。用变量创建bash脚本的bash脚本
echo "#!/bin/bash" > $1/compile
echo "
if [[ -z '$1' ]];
then
echo "You are missing file names. Type in: compile -o executable files."
exit 1
fi" >> $1/compile
chmod u+x $1/compile
这里是从NewProject脚本的测试运行输出。
#!/bin/bash
if [[ -z 'testproject4' ]];
then
echo You are missing file names. Type in: compile -o executable files.
exit 1
fi
我怎样才能改变NewProject脚本所以,与其'testproject4'
,编译脚本包含'$1'
?
$的“”被解释的,在'它不。还要注意,你有内部的“在你的周围”(“你缺少文件名......”位),这可能不是你想要的(在这种情况下它并不重要,因为回声会回显所有由字符串分隔的参数无论如何) –