我目前正在制作一个脚本,通过 SSH 将特定脚本分发到多个 IP,但我在脚本中遇到了一个我无法找到的问题。
source ~/scripts/IPs
script=/scripts/passwdChange
ssh -T "$ipadd2" < ./$script
ssh -T "$ipadd3" < ./$script
ssh -T "$ipadd4" < ./$script
ssh -T "$ipadd5" < ./$script
ssh -T "$ipadd6" < ./$script
ssh -T "$ipadd7" < ./$script
ssh -T "$ipadd8" < ./$script
ssh -T "$ipadd9" < ./$script
ssh -T "$ipadd10" < ./$script
ssh -T "$ipadd11" < ./$script
ssh -T "$ipadd12" < ./$script
ssh -T "$ipadd13" < ./$script
ssh -T "$ipadd14" < ./$script
ssh -T "$ipadd15" < ./$script
ssh -T "$ipadd16" < ./$script
ssh -T "$ipadd17" < ./$script
ssh -T "$ipadd18" < ./$script
ssh -T "$ipadd19" < ./$script
ssh -T "$ipadd20" < ./$script
ssh -T "$ipadd21" < ./$script
ssh -T "$ipadd22" < ./$script
ssh -T "$ipadd23" < ./$script
ssh -T "$ipadd24" < ./$script
ssh -T "$ipadd25" < ./$script
ssh -T "$ipadd26" < ./$script
ssh -T "$ipadd27" < ./$script
ssh -T "$ipadd28" < ./$script
ssh -T "$ipadd29" < ./$script
ssh -T "$ipadd30' < ./$script
ssh -T "$ipadd31" < ./$script
ssh -T "$ipadd32" < ./$script
ssh -T "$ipadd33" < ./$script
ssh -T "$ipadd34" < ./$script
ssh -T "$ipadd35" < ./$script
ssh -T "$ipadd36" < ./$script
ssh -T "$ipadd37" < ./$script
ssh -T "$ipadd38" < ./$script
ssh -T "$ipadd39" < ./$script
ssh -T "$ipadd40" < ./$script
ssh -T "$ipadd41" < ./$script
ssh -T "$ipadd42" < ./$script
ssh -T "$ipadd43" < ./$script
ssh -T "$ipadd44" < ./$script
ssh -T "$ipadd45" < ./$script
ssh -T "$ipadd46" < ./$script
ssh -T "$ipadd47" < ./$script
ssh -T "$ipadd48" < ./$script
ssh -T "$ipadd49" < ./$script
ssh -T "$ipadd50" < ./$script
ssh -T "$ipadd51" < ./$script
ssh -T "$ipadd52" < ./$script
ssh -T "$ipadd53" < ./$script
ssh -T "$ipadd54" < ./$script
ssh -T "$ipadd55" < ./$script
ssh -T "$ipadd56" < ./$script
ssh -T "$ipadd57" < ./$script
ssh -T "$ipadd58" < ./$script
ssh -T "$ipadd59" < ./$script
ssh -T "$ipadd60" < ./$script
ssh -T "$ipadd61" < ./$script
ssh -T "$ipadd62" < ./$script
ssh -T "$ipadd63" < ./$script
ssh -T "$ipadd64" < ./$script
ssh -T "$ipadd65" < ./$script
ssh -T "$ipadd66" < ./$script
ssh -T "$ipadd67" < ./$script
ssh -T "$ipadd68" < ./$script
ssh -T "$ipadd69" < ./$script
ssh -T "$ipadd70" < ./$script
ssh -T "$ipadd71" < ./$script
ssh -T "$ipadd72" < ./$script
ssh -T "$ipadd73" < ./$script
ssh -T "$ipadd74" < ./$script
ssh -T "$ipadd75" < ./$script
ssh -T "$ipadd76" < ./$script
ssh -T "$ipadd77" < ./$script
ssh -T "$ipadd78" < ./$script
ssh -T "$ipadd79" < ./$script
ssh -T "$ipadd80" < ./$script
ssh -T "$ipadd81" < ./$script
ssh -T "$ipadd82" < ./$script
ssh -T "$ipadd83" < ./$script
ssh -T "$ipadd84" < ./$script
ssh -T "$ipadd85" < ./$script
ssh -T "$ipadd86" < ./$script
ssh -T "$ipadd87" < ./$script
ssh -T "$ipadd88" < ./$script
ssh -T "$ipadd89" < ./$script
ssh -T "$ipadd90" < ./$script
ssh -T "$ipadd91" < ./$script
ssh -T "$ipadd92" < ./$script
ssh -T "$ipadd93" < ./$script
ssh -T "$ipadd94" < ./$script
ssh -T "$ipadd95" < ./$script
ssh -T "$ipadd96" < ./$script
ssh -T "$ipadd97" < ./$script
ssh -T "$ipadd98" < ./$script
ssh -T "$ipadd99" < ./$script
ssh -T "$ipadd100" < ./$script
ssh -T "$ipadd101" < ./$script
ssh -T "$ipadd102" < ./$script
ssh -T "$ipadd103" < ./$script
ssh -T "$ipadd104" < ./$script
ssh -T "$ipadd105" < ./$script
ssh -T "$ipadd106" < ./$script
ssh -T "$ipadd107" < ./$script
ssh -T "$ipadd108" < ./$script
ssh -T "$ipadd109" < ./$script
ssh -T "$ipadd110" < ./$script
ssh -T "$ipadd111" < ./$script
ssh -T "$ipadd112" < ./$script
ssh -T "$ipadd113" < ./$script
ssh -T "$ipadd114" < ./$script
ssh -T "$ipadd115" < ./$script
ssh -T "$ipadd116" < ./$script
ssh -T "$ipadd117" < ./$script
ssh -T "$ipadd118" < ./$script
ssh -T "$ipadd119" < ./$script
ssh -T "$ipadd120" < ./$script
ssh -T "$ipadd121" < ./$script
ssh -T "$ipadd122" < ./$script
ssh -T "$ipadd123" < ./$script
ssh -T "$ipadd124" < ./$script
ssh -T "$ipadd125" < ./$script
ssh -T "$ipadd126" < ./$script
ssh -T "$ipadd127" < ./$script
ssh -T "$ipadd128" < ./$script
ssh -T "$ipadd129" < ./$script
ssh -T "$ipadd130" < ./$script
ssh -T "$ipadd131" < ./$script
ssh -T "$ipadd132" < ./$script
ssh -T "$ipadd133" < ./$script
ssh -T "$ipadd134" < ./$script
ssh -T "$ipadd135" < ./$script
ssh -T "$ipadd136" < ./$script
ssh -T "$ipadd137" < ./$script
ssh -T "$ipadd138" < ./$script
ssh -T "$ipadd139" < ./$script
ssh -T "$ipadd140" < ./$script
ssh -T "$ipadd141" < ./$script
ssh -T "$ipadd142" < ./$script
ssh -T "$ipadd143" < ./$script
ssh -T "$ipadd144" < ./$script
ssh -T "$ipadd145" < ./$script
ssh -T "$ipadd146" < ./$script
ssh -T "$ipadd147" < ./$script
ssh -T "$ipadd148" < ./$script
ssh -T "$ipadd149" < ./$script
ssh -T "$ipadd150" < ./$script
ssh -T "$ipadd151" < ./$script
ssh -T "$ipadd152" < ./$script
ssh -T "$ipadd153" < ./$script
ssh -T "$ipadd154" < ./$script
ssh -T "$ipadd155" < ./$script
ssh -T "$ipadd156" < ./$script
ssh -T "$ipadd157" < ./$script
ssh -T "$ipadd158" < ./$script
ssh -T "$ipadd159" < ./$script
ssh -T "$ipadd160" < ./$script
ssh -T "$ipadd161" < ./$script
ssh -T "$ipadd162" < ./$script
ssh -T "$ipadd163" < ./$script
ssh -T "$ipadd164" < ./$script
ssh -T "$ipadd165" < ./$script
ssh -T "$ipadd166" < ./$script
ssh -T "$ipadd167" < ./$script
ssh -T "$ipadd168" < ./$script
ssh -T "$ipadd169" < ./$script
ssh -T "$ipadd170" < ./$script
ssh -T "$ipadd171" < ./$script
ssh -T "$ipadd172" < ./$script
ssh -T "$ipadd173" < ./$script
ssh -T "$ipadd174" < ./$script
ssh -T "$ipadd175" < ./$script
ssh -T "$ipadd176" < ./$script
ssh -T "$ipadd177" < ./$script
ssh -T "$ipadd178" < ./$script
ssh -T "$ipadd179" < ./$script
ssh -T "$ipadd180" < ./$script
ssh -T "$ipadd181" < ./$script
ssh -T "$ipadd182" < ./$script
ssh -T "$ipadd183" < ./$script
ssh -T "$ipadd184" < ./$script
ssh -T "$ipadd185" < ./$script
ssh -T "$ipadd186" < ./$script
ssh -T "$ipadd187" < ./$script
ssh -T "$ipadd188" < ./$script
ssh -T "$ipadd189" < ./$script
ssh -T "$ipadd190" < ./$script
ssh -T "$ipadd191" < ./$script
ssh -T "$ipadd192" < ./$script
ssh -T "$ipadd193" < ./$script
ssh -T "$ipadd194" < ./$script
ssh -T "$ipadd195" < ./$script
ssh -T "$ipadd196" < ./$script
ssh -T "$ipadd197" < ./$script
ssh -T "$ipadd198" < ./$script
ssh -T "$ipadd199" < ./$script
ssh -T "$ipadd200" < ./$script
ssh -T "$ipadd201" < ./$script
ssh -T "$ipadd202" < ./$script
ssh -T "$ipadd203" < ./$script
ssh -T "$ipadd204" < ./$script
ssh -T "$ipadd205" < ./$script
ssh -T "$ipadd206" < ./$script
ssh -T "$ipadd207" < ./$script
ssh -T "$ipadd208" < ./$script
ssh -T "$ipadd209" < ./$script
ssh -T "$ipadd210" < ./$script
ssh -T "$ipadd211" < ./$script
ssh -T "$ipadd212" < ./$script
ssh -T "$ipadd213" < ./$script
ssh -T "$ipadd214" < ./$script
ssh -T "$ipadd215" < ./$script
ssh -T "$ipadd216" < ./$script
ssh -T "$ipadd217" < ./$script
ssh -T "$ipadd218" < ./$script
ssh -T "$ipadd219" < ./$script
ssh -T "$ipadd220" < ./$script
ssh -T "$ipadd221" < ./$script
ssh -T "$ipadd222" < ./$script
ssh -T "$ipadd223" < ./$script
ssh -T "$ipadd224" < ./$script
ssh -T "$ipadd225" < ./$script
ssh -T "$ipadd226" < ./$script
ssh -T "$ipadd227" < ./$script
ssh -T "$ipadd228" < ./$script
ssh -T "$ipadd229" < ./$script
ssh -T "$ipadd230" < ./$script
ssh -T "$ipadd231" < ./$script
ssh -T "$ipadd232" < ./$script
ssh -T "$ipadd233" < ./$script
ssh -T "$ipadd234" < ./$script
ssh -T "$ipadd235" < ./$script
ssh -T "$ipadd236" < ./$script
ssh -T "$ipadd237" < ./$script
ssh -T "$ipadd238" < ./$script
ssh -T "$ipadd239" < ./$script
ssh -T "$ipadd240" < ./$script
ssh -T "$ipadd241" < ./$script
ssh -T "$ipadd242" < ./$script
ssh -T "$ipadd243" < ./$script
ssh -T "$ipadd244" < ./$script
ssh -T "$ipadd245" < ./$script
ssh -T "$ipadd246" < ./$script
ssh -T "$ipadd247" < ./$script
ssh -T "$ipadd248" < ./$script
ssh -T "$ipadd249" < ./$script
ssh -T "$ipadd250" < ./$script
ssh -T "$ipadd251" < ./$script
ssh -T "$ipadd252" < ./$script
ssh -T "$ipadd253" < ./$script
当跑步时我得到-
/scripts/bulk: line 254: unexpected EOF while looking for matching `"'
/scripts/bulk: line 255: syntax error: unexpected end of file
答案1
即使这里的语法荧光笔也显示了问题:
ssh -T "$ipadd30' < ./$script
ssh -T "$ipadd31" < ./$script
双引号内的单引号只是一个字符,它并不结束引用。