我正在尝试将已搜索过的文件从源文件夹移动到目标文件夹中,并使它们只在进程中读取,下面是我当前的代码,copyfile()是一个子例程,它迭代所有文件的进程在源文件夹中。
#!/bin/bash
copyfile()
{
ls -l "$f"
read -p "Copy y/n? " yn
if [ "$yn" == "y" ]
then
cp "$f" "$2"
else
echo $f skipped
fi
}
if [ -d $1 ] # $1 source folder
then
echo
else
echo This directory does not exist
fi
if [ -d $2 ] # $2 target folder
then
echo Directory Exists
else
mkdir $2
echo $2 created
fi
for f in $1/*
do
echo "file is $f"
copyfile "$f"
done
我目前还没有设法将权限更改用于复制的文件(当他们使用不同版本的代码时)。
提前非常感谢任何帮助。
答案 0 :(得分:2)
让你的功能如下:
copyfile() {
ls -l "$1"
read -p "Copy y/n? " yn
if [ "$yn" == "y" ]
then
cp "$1" "$2"
chmod 644 "$2"
else
echo "$1 skipped"
fi
}
并将其称为:
for f in $1/*
do
echo "file is $f"
copyfile "$f" "$2"
done