检查Linux控制台中是否存在文件和文件夹

时间:2019-05-14 18:29:18

标签: linux shell command

我不是最高级的用户,所以我正在尝试简单的解决方案,但它们似乎没有用。我想创建执行2件事的脚本。

  1. 创建项目文件,如果存在,则将其删除并创建新文件。

    if [ -f projekt ]
    then
      rmdir projekt
      mkdir projekt
    else 
      mkdir projekt
    fi
    
  2. 读取文件名(如果存在),只要您输入适当的名称,它就会要求新的文件名。然后我需要使用该名称,但是我知道了。我想在主文件夹中创建文件,这就是~/的原因。

    read name
    
    while [ -f ~/$name ]
    do
      echo "File exists " | read name
    done
    

在第一种情况下,它只是忽略“ if”并说该文件存在,在第二种情况下,如果文件存在,它将进入怪异的无限循环。

我知道这可能非常简单,但是我正在考虑如何修复它1.5个小时,我不知道出了什么问题。

编辑

我设法修复了它。 -f代表文件,因此应将其更改为-d。可以将〜/ $ name更改为$ name,因为我们几乎位于同一目录中。和|应该删除,并将读取的名称移至下一行。我不确定为什么不能使用|但是。

0 个答案:

没有答案