我的 shell 脚本包含一个用于将语句打印到另一个 shell 脚本的函数
function print()
{
echo "
insert() #insert function
for i in $InsertFile1
do
cat $i
done
echo \""Exit--------------------------0"\"
switch($input)
{
case 1 :
......
......
default :
}
" > Script.sh
}
变量$InsertFile1 = file1.txt,file1.txt的内容如下:
insert() #insert function
echo "1 Start"
echo "2 Stop"
echo "3 Exit"
switch($input)
{
case 1 :
......
......
default :
}
Script.sh 中的预期输出应该是变量 $InsertFile1 的内容,但我的输出(即 Script.sh 的内容)是
insert() #insert function
for i in echo "1 Start"
echo "2 Stop"
echo "3 Exit"
switch($input)
{
case 1 :
......
......
default :
}
如何跳过文件 Script.sh 中 for 循环的打印?编辑:函数 print 包含需要包含在 Script.sh 中的其他几个语句。
答案1
尝试
function print()
{
for i in $InsertFile1
do
cat $i
done > Script.sh
echo "Exit--------------------------0" >> Script.sh
}
- 您可能希望使用 echo Exit 跳过一行
如果 $Insertfile1 只有一个值,脚本可以进一步简化
function print() { cp $Inserfile Script.sh echo "Exit--------------------------0" >> Script.sh }