博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux之特殊的环境变量IFS以及如何删除带有空格的目录
阅读量:5892 次
发布时间:2019-06-19

本文共 1479 字,大约阅读时间需要 4 分钟。

1、IFS是什么?

Linux下有一个特殊的环境变量叫做IFS,叫做内部字段分隔符(internal field separator)。IFS环境变量定义了bash shell用户字段分隔符的一系列字符。默认情况下,bash shell会将空格当做字段分隔符。我这里的系统是Centos7系统。

但是往往我们不能仅仅以空格符来作为字段分隔符,有些情况下我们需要将分割符设置为换行符来满足我们的业务需求。

演示如下:

现在我创建了四个目录,其中一个目录带有空格。现在我想把一下子他们统统都删除掉。

[root@ELK-chaofeng test]# lschao  chao feng  chen  feng[root@ELK-chaofeng test]# lltotal 16drwxr-xr-x 2 root root 4096 Feb 14 11:57 chaodrwxr-xr-x 2 root root 4096 Feb 14 10:52 chao fengdrwxr-xr-x 2 root root 4096 Feb 14 11:57 chendrwxr-xr-x 2 root root 4096 Feb 14 11:57 feng

如何直接删除的话,会出现下面的情况:

[root@ELK-chaofeng test]# find . -type d../chao feng./chen./feng./chao[root@ELK-chaofeng test]# for dir in `find . -type d`; do echo ${dir} ;done../chaofeng./chen./feng./chao

上面红色背景的本来是一个目录,结果这里却显示成了两个目录,所以使用rm删除的话肯定是删除不掉的。(我这里使用echo来做演示而已,echo显示正确,那么rm也能顺利删除带有空格的目录)

此时我们就需要使用IFS来解决这个问题了。

[root@ELK-chaofeng test]# IFS=$'\n' && for dir in `find . -type d`; do echo ${dir} ;done../chao feng./chen./feng./chao

这个时候我们发现带有空格的目录可以完整显示了。这是正确的。那么现在我们就可以删除了。

[root@ELK-chaofeng test]# lltotal 20drwxr-xr-x 2 root root 4096 Feb 14 11:57 chaodrwxr-xr-x 2 root root 4096 Feb 14 10:52 chao fengdrwxr-xr-x 2 root root 4096 Feb 14 11:57 chendrwxr-xr-x 2 root root 4096 Feb 14 11:57 feng[root@ELK-chaofeng test]# IFS=$'\n' && for dir in `find . -type d`; do rm -rf ${dir} ;donerm: refusing to remove ‘.’ or ‘..’ directory: skipping ‘.’[root@ELK-chaofeng test]# ls

此时rm报错可以忽略。现在看来我们已经成功的结果了这个问题。

转载于:https://www.cnblogs.com/FengGeBlog/p/10373901.html

你可能感兴趣的文章
BTree的Java简单实现
查看>>
Ubuntu14.04LTS安装系统负载指示器(在最上方任务栏显示实时系统信息)
查看>>
利器在手, 啥都顺手
查看>>
MIT经典计算机课程:计算思维及数据科学导论
查看>>
常用正则表达式整理
查看>>
Python代码覆盖率分析工具Coverage
查看>>
ExTiX 19.3 发布,基于 Ubuntu 的桌面 Linux 发行
查看>>
UITableView基础[ 1 ] 基本TableView的实现
查看>>
react 前端项目技术选型、开发工具、周边生态
查看>>
开启mysql远程访问过程中所遇常见问题的解决办法 ...
查看>>
使用 Dataworks 实现 AnalyticDB for PostgreSQL 上的 ETL 作业调度
查看>>
Navicat生成更新数据库结构同步的数据库
查看>>
DNS服务器的配置
查看>>
MySQL数据库常见管理应用(1)
查看>>
windows驱动里面的问题
查看>>
CUDA实践指南(四)
查看>>
table合并单元格colspan和rowspan
查看>>
IPVS基于应用层任意偏移字段HASH值的负载均衡算法
查看>>
Nginx技术深度剖析(2)
查看>>
部署P2P升级的脚本
查看>>