0

我对此很陌生。我只是想测试给定文件是否存在,如果不存在就触摸它。命令行响应我的参数太少。显然我在这里遗漏了一些东西。谢谢你看。

#!/bin/sh
echo Enter File Name
read filename
if [ -s $filename ]
then
echo The File Exists!
else
echo File did not previously exist
touch $filename
fi
4

1 回答 1

2

你有两个错误,一个是你写}的不是],另一个是你应该在结束前添加一个空格]

#!/bin/sh
echo Enter File Name
read filename
if [ -f "$filename" ]; then
  echo The File Exists!
else
  echo File does not exist
  touch "$filename"
fi

正如 michaelb958 建议的那样,您还应该引用$filename,因为这会给带有空格的文件名造成问题like this.html

您说您是新手,那么我建议您使用具有良好语法突出显示的编辑器,这将有助于您发现问题。

于 2013-05-03T12:43:26.837 回答