所以伙计们,我必须在Linux中编写这个脚本。我必须创建一个目录并查看它是否已经存在然后我必须找到所有以" .c"结尾的文件。并将它们移动到我创建的目录。 这就是我到目前为止所做的:
#!/bin/bash
while
echo "name of the directory you want to create "
read -p "$name"; do
if [ ! -d "$name" ]; then
{
echo "Directory doesn't exist. Create: "
read -p "$name"
mkdir -p Scripts/"$name"
}
else
echo "Directory exists"
fi
find ./ -name '*.c' | xargs mv -t "$name"
done
当我尝试执行它时,它不起作用。它没有创建新目录,也说:
mv: failed to access '': No such file or directory.
你能帮我找到解决方法吗?
答案 0 :(得分:0)
我不确定你想要实现的目标。但是你的脚本中有一些东西是没有意义的。
*.c
将选择当前目录中以.c
结尾的所有文件。尽管如此,如果我理解正确,这里的脚本会按照您的要求执行。
#! /bin/bash
echo -n "Enter the name of the directory you want to create: "
read name
if [ ! -d Scripts/"$name" ]; then
echo "Directory doesn't exist. Creating it."
mkdir -p Scripts/"$name"
else
echo "Directory exists"
fi
echo "Moving files"
mv *.c Scripts/"$name"