需要一个脚本来测试文件是否存在并输出"找到文件"如果它存在,或者"文件未找到"如果它不存在然后创建文件。这可以用位置参数完成吗?谢谢!
如果找到文件 然后 echo"找到文件" 其他 echo"找不到文件" &安培;&安培;触摸文件 网络
答案 0 :(得分:2)
if [[ -e /path/to/file ]]; then
echo "File found!"
else
echo "File not found! Creating it"
touch /path/to/file
fi
答案 1 :(得分:2)
在回答有关/bin/sh
的问题时,您可以轻松将上述内容修改为:
filenm=/path/to/file/to/check.txt
if [ -f "$filenm" ] ; then
printf "file exists\n"
else
printf "file does not exist -- creating\n"
touch "$filenm"
fi
你也可以用single-bracket test
替换[ stuff ]
以上test -f "$filenm"
(在结束引号和分号之间留一个空格(例如if test -f "$filenm" ; then
)。你也可以完成与复合命令相同。(使用test
但您也可以替换[ ]
:
test -f "$filenm" && printf "file exists" || { printf "file does not exist\n"; touch "$filenm"; }
测试并创建文件后,最好验证是否已创建文件:
test -f "$filenm" || touch "$filenm"
test -f "$filenm" || { printf "error, unable to create %s\n" "$filenm"; exit 1; }