Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 将许多文件从列表名保存到文件中_Shell_Bind - Fatal编程技术网

Shell 将许多文件从列表名保存到文件中

Shell 将许多文件从列表名保存到文件中,shell,bind,Shell,Bind,我的shell脚本需要帮助。我试着运行它,但不起作用 我的逻辑是创建许多db.file来绑定服务。我有一个文件,其中有许多行将是分区。我想在文件夹中保存许多文件 #./script.sh file ################### #script.sh ################### #!/bin/bash while IFS='' read -r line || [[ -n "$line" ]]; do echo '$TTL 86400'

我的shell脚本需要帮助。我试着运行它,但不起作用

我的逻辑是创建许多db.file来绑定服务。我有一个文件,其中有许多行将是分区。我想在文件夹中保存许多文件

 #./script.sh file


 ###################
 #script.sh
 ###################


 #!/bin/bash
 while IFS='' read -r line || [[ -n "$line" ]]; do
     echo '$TTL    86400'
     echo $line'.exemplo.com.br.        IN      SOA     ns1.exemplo.com.br.     hostmaster.exemplo.com.br.('
     echo '        2016020601      ; serial'
     echo '        3600            ; refresh (1h)'
     echo '        1800            ; retry (30m)'
     echo '        86400           ; expire (1d)'
     echo '        900 )           ; minimum (15m)'<

     echo ';'$line'.exemplo.com.br.             IN NS ns1.exemplo.com.br.'
     echo ';'$line'.exemplo.com.br.             IN NS ns2.exemplo.com.br.'
     echo ';'$line'.exemplo.com.br.             IN NS ns3.exemplo.com.br.'
     echo ';'$line'.exemplo.com.br.             IN NS ns4.exemplo.com.br.'
     echo "\n\n"
 done >"$1"
#./script.sh文件
###################
#script.sh
###################
#!/bin/bash
而IFS=''读-r行| |[[-n“$line”];做
回音“$TTL86400”
echo$line'.exemplo.com.br。在SOA ns1.exemplo.com.br中。hostmaster.exemplo.com.br。('
echo'2016020601;序列号'
回音“3600;刷新(1h)”
回显'1800;重试(30米)'
echo'86400;过期(1d)'
echo'900);最小(15米)'<
回声“;”$行“.exemplo.com.br。在NS ns1.exemplo.com.br中。”
回声“;”$行“.exemplo.com.br。在NS ns2.exemplo.com.br中
回声“;”$行“.exemplo.com.br。在NS ns3.exemplo.com.br中。”
回声“;”$行“.exemplo.com.br。在NS ns4.exemplo.com.br中
回显“\n\n”
完成>“$1”
这个脚本打印到终端,但我想保存到许多文件

count = 0
while IFS='' read -r line || [[ -n "$line" ]]; do
 let $count = $count + 1
 echo '$TTL    86400' > file_out_$count.extension
 echo $line'.exemplo.com.br.        IN      SOA     ns1.exemplo.com.br.     hostmaster.exemplo.com.br.(' >> file_out_$count.extension
 echo '        2016020601      ; serial' >> file_out_$count.extension
 echo '        3600            ; refresh (1h)' >> file_out_$count.extension
 echo '        1800            ; retry (30m)' >> file_out_$count.extension
 echo '        86400           ; expire (1d)' >> file_out_$count.extension
 echo '        900 )           ; minimum (15m)' >> file_out_$count.extension

 echo ';'$line'.exemplo.com.br.             IN NS ns1.exemplo.com.br.'>> file_out_$count.extension

 echo ';'$line'.exemplo.com.br.             IN NS ns2.exemplo.com.br.'>> file_out_$count.extension

 echo ';'$line'.exemplo.com.br.             IN NS ns3.exemplo.com.br.'>> file_out_$count.extension

 echo ';'$line'.exemplo.com.br.             IN NS ns4.exemplo.com.br.'>> file_out_$count.extension

 echo "\n\n" >> file_out_$count.extension
考虑到每个循环将生成不同的文件,这是一个肮脏的解决方案