IFS=$'\n' ubuntu18.04LTS 无效

来源:4-4 for循环从命令执行结果读取值

skrbug

2019-12-23

#!/bin/bash
IFS=$'\n'
for i in $(cat txt)
do
    echo $i
done
  • 输出结果

sha
ghai
gua
gzhou
wu ha

  • 更改成这样是可以的
#!/bin/bash
IFS='
'
for i in $(cat txt)
do
    echo $i
done

写回答

2回答

酷田

2019-12-23

Ubuntu和CentOS是有些区别的,默认ubuntu中的sh命令并不是bash

0
2
酷田
回复
skrbug
哈哈,看到就恢复了。所以对于初学者我是建议使用centos来做练习,当然如果熟悉的话用ubuntu也没问题,只是会有一些区别,需要排错,可能会造成困惑……有问题再沟通哈
2019-12-23
共2条回复

skrbug

提问者

2019-12-23

翻了下来老师之前的回答,找到了原因,原来ubuntu的 sh命令是 dash..  我说我照着老师写的很多脚本都有奇奇怪怪的问题. 

老师的之前连接: https://coding.imooc.com/learn/questiondetail/154443.html

0
0

掌握Shell脚本编程 360架构师带你进阶Linux高手

30%知识讲解+70%实例操作 掌握Shell脚本编程能力

1638 学习 · 297 问题

查看课程