Bourne Shell脚本中的“参数太少”

时间:2013-05-03 12:40:23

标签: unix sh

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

#!/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

1 个答案:

答案 0 :(得分:3)

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

#!/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内有空格的文件名带来问题

你说你是新手,然后我建议使用一个语法高亮的编辑器,这会帮助你发现问题。