Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix &引用;论据太少”;在Bourne Shell脚本中_Unix_Sh - Fatal编程技术网

Unix &引用;论据太少”;在Bourne Shell脚本中

Unix &引用;论据太少”;在Bourne Shell脚本中,unix,sh,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 您有两个错误,一个是您编写了}而不是],另一个是您应该在结束]

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

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

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

#!/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
,因为这样会给
中包含空格的文件名带来问题,例如.html


你说你是新手,那么我建议使用一个语法突出的编辑器,这会帮助你发现问题。

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

#!/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
,因为这样会给
中包含空格的文件名带来问题,例如.html


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

第4行中有一个
}
而不是
]
,这是我的错误,但问题仍然存在。谢谢你指出这一点,但这并不能改变我的问题(这样写的话效果很好,我只是没有正确调用它。FacePalm在第4行有一个
}
而不是
]
这是我的错误,但是问题仍然存在。谢谢你指出这一点,但这并不能改变我的问题。=(虽然写得很好,但我只是没有正确调用它。facepalmNote on
[
:Quote参数,如
“$filename”
。如果对包含空格的文件名不这样做,可能会导致有趣的行为。@michaelb958只是试图通过键入shell脚本的name@RossCournoyer如果我们知道问题出在脚本的什么地方,这会有所帮助。@michaelb958很抱歉,我在这里帮不上什么忙。=(所以在我的答案中使用代码后,您仍然会得到错误?是什么错误?您如何调用脚本?请注意
[
:引用参数,如
“$filename”
。如果对包含空格的文件名不这样做,可能会导致有趣的行为。@michaelb958只是试图通过键入shell脚本的name@RossCournoyer如果我们知道问题出在脚本的什么地方,这会有所帮助。@michaelb958很抱歉,我在这里帮不上什么忙。=(所以在我的答案中使用代码后,您仍然会得到错误?是什么错误?您如何调用脚本?