use*_*731 0 linux bash hidden-files
我试图使用参数--unhide来取消隐藏目录中的文件,但它无法正常工作.你能救我吗?这是我的代码部分.
for i in `ls -1`
do
if [ -f $i ] || [ -d $i ]
then
if [ `echo $i | cut -c1` == "." ]
then
mv $i ${i#.}
fi
fi
done
Run Code Online (Sandbox Code Playgroud)
谢谢!
那么取消隐藏然后我写--unhide file1 file2?
elif [ $1 = --unhide ] && [ ! $2 = --all ]
then
for i in $@
do
if [ -f $i ] || [ -d $i ]
then
if [ `echo $i | cut -c1` == "." ]
then
mv $i ${i#.}
fi
fi
done
Run Code Online (Sandbox Code Playgroud)
很容易我们没有隐藏文件,那么参数名称与文件名相同.但是如何检查隐藏文件?我试着写--unhide .file1 .file2但脚本只取消隐藏.file1和.file2.
所以基本上你要求的是一个重命名目录中文件的脚本,文件以'.'开头?
像下面这样的东西应该工作
GLOBIGNORE=".:.."
for file in .*; do
mv -n "$file" "${file#.}"
done
Run Code Online (Sandbox Code Playgroud)