我试图在bash中使用它们之后编写脚本来移动文件。
我正在使用"打开"我的脚本,所以$1
是文件(完整路径)
#! /bin/bash
fullpath="$1"
rootpath="/home/guillaume/Videos"
foo=${fullpath#${rootpath}}
echo "$foo"
zenity --question --title="Déplacer le fichier ?" --text="Déplacer le fichier vers le dossier VU ?"
if [ $? = 0 ]
then
if # foo don't have a folder
then
mv $rootpath"$foo" /home/guillaume/Videos/VU
elif # foo contains a folder
# command to copy the subdirectory
fi
fi
foo
的结果可能是:
/title_subdirectory/file with_spaces or_not.ext
或
/file with_spaces or_not.ext
如何检测文件是否在子目录中,然后移动所有子目录和文件?
答案 0 :(得分:1)
我要检查文件名是否与basename
(没有目录的名称)相同
if [ `basename "$foo"` = "$foo" ] ; then
echo root directory
else
echo subdirectory
fi
如果根目录中的文件具有前导/
,那么您可能需要这样做以在比较之前删除前导/
:
if [ `basename "$foo"` = "${foo#/}" ] ; then
echo root directory
else
echo subdirectory
fi