【发布时间】:2011-11-16 16:26:13
【问题描述】:
我正在从文本文件中读取主机信息并将其传递给 ssh 命令: 文本文件包含 ssh 命令的主机、用户和密码
while read LINE
do
R_USER=$(echo $LINE | cut -d ',' -f 1)
R_HOST=$(echo $LINE | cut -d ',' -f 2)
PY_SCRIPT=$(echo $LINE | cut -d ',' -f 4)
ssh $R_USER@$R_HOST 'touch /home/user/file_name.txt'
done </path_name/file_name
事实证明,即使主机文本文件包含多个主机信息,while 循环也只会执行一次。 当我删除 ssh 命令时,while 循环的执行次数与主机信息文本文件中的行数一样多。
不知道为什么会这样。 有这方面的信息吗?
罗兰
【问题讨论】:
-
顺便说一句,您可以通过暂时将内部字段分隔符更改为逗号来避免所有可怕的
cutting,并将reading 直接放入您的变量中:IFS=','; while read R_USER R_HOST dhummi PY_SCRIPT rest; do...