我正在尝试制作一个bash脚本,它将逐个递归地tar所有文件夹.
但是,我有一个问题,因为一些文件夹名称有空格等.所以它无法正常工作.
是)我有的:
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in $(ls ./2011)
do
tar -zcvf "$i".tar.gz "$i"
done
IFS=$SAVEIFS
Run Code Online (Sandbox Code Playgroud)
然而,例如出现问题:
tar -zcvf St Patricks Day Bar Night.tar.gz St Patricks Day Bar Night
Run Code Online (Sandbox Code Playgroud)
空间会引起问题,这有什么好办法?
在文件名和bash文件名扩展名周围使用双引号而不是ls.
#!/bin/bash
for i in ./*
do
echo tar -zcvf "$i.tar.gz" "$i"
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4434 次 |
| 最近记录: |