shell脚本 ,如果用 for in 语句,读取一行内容,急用,请高手回答。 for file in `ls -l --full-time ·

会自动以字符来分隔,而我想的每一行读取一行内容。怎么才能一次读取 ls -l  的一行内容。

#!/bin/sh
#设置IFS环境变量,这个变量是用来定义分隔符类型的。默认的分隔符为空格、换行符、tab。
#在你的需求中,只需要设置IFS变量的内容为换行符。
#先存储IFS默认值
IFS_old=$IFS
IFS=$'\n'
for line in $(ls -l --full-time)
do
echo $line
done
#将IFS变量还原为默认值
IFS=$IFS_old
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-26
只会一个笨办法,先创建一个文件,然后读文件
ls -l > tmp
while read line; do echo $line; done < tmp
第2个回答  2011-07-27
#!/bin/sh

ls -l | while read line
do
echo "start a line: " "$line"
done
第3个回答  2011-07-25
你的字符串要有规律就可以了比如加个&什么的
相似回答