我尝试编写一个bash脚本来提示用户输入文件名,如果该文件存在于垃圾箱中,请递增文件名,然后将其移至垃圾箱。例如,如果" file1"如果" file1-1"存在,它将增加到" file1-2",依此类推。
这是我到目前为止所做的,但它不起作用:
#!/bin/bash
echo "Select file name: "
read fileName
if $fileName in ~/.TRASH
then
echo "$fileName found."
rename $fileName=$fileName+1
trash $fileName
echo "$fileName has been moved to trash."
else
echo "$fileName not found."
trash $fileName
echo "$fileName has been moved to trash."
fi
我假设"如果"或重命名/增量计数器,但对于我的生活,我无法弄清楚。
答案 0 :(得分:0)
if $fileName in ~/.TRASH
不是一件事。你要做的是:
if [[ -e ~/.TRASH/"${fileName}" ]]
rename $fileName=$fileName+1
也不是一回事。首先,您需要loop through the files backwards以避免覆盖具有更高编号的文件,然后您需要拉出文件名的相关部分,例如使用fileNumber="${fileName#*-}"
,然后您可以使用{递增它{1}},最后您可以使用let fileNumber++
移动它。