linux shell 中 如何处理空格的路径?

linux shell 中 如何处理空格的路径?,第1张

#/bin/bash

SAVEIFS="$IFS"

myhome=`pwd`

IFS='

'

for str in `find . -type d`

do

          cd  "$str"

           echo "process $str"

           cd $myhome

 done

 IFS="$SAVEIFS"

./ 点号紧跟/表示当前目录(相对路径的写法)。直接 / 表示根目录。

. / 有空格的点号等同于source命令,表示在当前shell环境执行后面的命令或脚本(不加点号默认是新开一个shell执行的)。例如 . /home/test.sh 等同于 source /home/test.sh。

用source执行的脚本所做的任何改变会影响当前shell(如其中有用cd改变目录,脚本执行完后目录就变掉了);如果没用source,就不会影响当前shell。

上述两种情况结合:

. ./test.sh

表示以source方式在当前shell执行当前目录下的test.sh脚本。

对新手来说,为明显区别,建议书写的时候将第二种情况直接写作source而不要用点号。

在Windows *** 作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹,

而在linux则需要进行一些特殊的处理才能实现以上功能.

(1)创建文件夹

mkdir my\ first

这条命令创建了文件夹"my first",文件夹名中my和first之间有一个空格,在命令行中需要

添加一个"\"符号和一个空格的组合

mkdir my\ \ tow

这条命令创建了文件夹"my tow",文件夹名中my和tow之间有两个空格,在命令行中需要

添加两个"\"与空格的组合

(2)移动文件夹

mv my\ first /tmp

这条命令将文件夹"my first"移动到文件夹tmp下

mv my\ \ tow /tmp

这条命令将文件夹"my tow"移动到文件夹tmp下

(3)删除文件夹

rm -r my\ first

这条命令将文件夹"my\ first"删除

rm -r my\ \ tow

这条命令将文件夹"my\ \ tow"删除

(4)进入文件夹

cd my\ first

这条命令可以进入文件夹"my first"

cd my\ \ tow

这条命令可以进入文件夹"my tow"

(5)创建压缩文件

tar czf my\ first.tar.gz my\ first

创建压缩文件"my first.tar.gz"

tar czf my\ \ tow.tar.gz my\ \ tow

创建压缩文件"my tow.tar.gz"

tar cjf my\ first.tar.bz2 my\ first

创建压缩文件"my first.tar.bz2"

tar cjf my\ \ tow.tar.bz2 my\ \ tow

创建压缩文件"my\ \ tow"

(6)解压压缩文件

tar xzf my\ first.tar.gz

解压压缩文件"my first.tar.gz"

tar xzf my\ \ tow.tar.gz

解压压缩文件"my tow.tar.gz"

tar xjf my\ first.tar.bz2

解压压缩文件"my first.tar.bz2"

tar xjf my\ \ tow.tar.bz2

解压压缩文件"my tow.tar.bz2"

总结:本文实现了对文件夹名中有空格的文件进行创建\移动\删除\进入\压缩\解压

等 *** 作,相对于文件夹名中有空格的文件夹来说,在输入命令时需要在文件夹名之间

插入"\"与空格的组合,文件夹名中有几个空格就需要加几个组合.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6260539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存