shell脚本 ,如果用 for in 语句,读取一行内容,急用,请高手回答。 for file in `ls -l --full-time ·
答案:4 悬赏:70
解决时间 2021-03-20 13:32
- 提问者网友:迷茫庸人
- 2021-03-20 08:39
会自动以字符来分隔,而我想的每一行读取一行内容。怎么才能一次读取 ls -l 的一行内容。
最佳答案
- 二级知识专家网友:一身浪痞味
- 2021-03-20 09:56
#!/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
#设置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楼网友:一场云烟
- 2021-03-20 13:15
full-time 是一个词,是全职的意思--> full-time student
full time 是一个时间段名词,是整段时间的意思--> she song through her concert full time.
尽供参考
- 2楼网友:深街酒徒
- 2021-03-20 11:47
只会一个笨办法,先创建一个文件,然后读文件
ls -l > tmp
while read line; do echo $line; done < tmp
- 3楼网友:狙击你的心
- 2021-03-20 10:29
#!/bin/sh
ls -l | while read line
do
echo "start a line: " "$line"
done
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯