linux shell 如何把txt文本中每一行提取出来赋值给一变量,再输出这一变量

例如:123.txt内容192.168.1.2/a1.exe192.168.1.2/a2.exe192.168.1.3/a3.exe使用cat或者别的编写脚本,怎么读取其每一行复制给一变量,再输出。

: No such file or directorybash
你的shell脚本有可能是在windows下编写的,然后在转移到linux执行的。
#vi filename
然后用命令
:set ff ---------查看时dos还是unix
若是dos字样, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看。

建立脚本最好在linux下,使用touch filename.sh来创建,再用vi filename.sh来编写脚本命令。
例如:
#touch dd.sh
#vi dd.sh
然后输入下面的内容。
#!bin/bash
#文本txt每一行复制并输出----注释
cat 123.txt|while read var;do
echo $var
done
exit 0

保存后,使用
#bash dd.sh
或者
#chmod 777 ss.sh
#./dd.sh
就可以运行啦。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-22
使用cat的话可以这样:
cat 123.txt | while read line
do
echo "$line"
done

123.txt的每行读取到变量line中并输出。本回答被网友采纳
第2个回答  2013-04-22
使用如下格式:
#!/bin/sh
# 这边写文件名(全路径)
FILE_NAME=""

while read LINE
do
echo $LINE
done < $FILE_NAME
第3个回答  推荐于2017-07-23
#!/bin/bash

while IFS= read line
do
echo $line
done < ./file.txt本回答被网友采纳
第4个回答  2017-07-23
字串符比较常见。但是这个没有限定,因为你可以进行类型转换
相似回答