嗨,我开始学习如何制作和使用 shell 脚本,我想要制作的 shell 脚本之一是一个 shell 脚本,它接收来自用户的字符串输入,该用户要求输入文件名并报告文件是否存在或不。我不确定该怎么做。这是我写的:
#!/bin/bash
read string1
echo${#string1} ; grep
我不知道输入 grep 后该怎么办。请帮忙。
grep 查找出现在文件内容中的字符串。如果您只想测试是否存在具有给定名称的文件,则不需要 grep。
#!/bin/bash
read string1
if test -e ${string1}; then
echo The file ${string1} exists
fi
会做。
[按照@glenn jackman 的建议从评论复制到答案]
使用文件测试运算符而不是 grepping 作为名称:
#!/bin/bash
printf "Enter a filename: "
read string1
if [[ -f "$string1" ]]; then
echo "The file '$string1' exists."
else
echo "The file '$string1' does not exist!"
fi
不要忘记引用您的变量,以便正确解析带有空格和奇数字符的名称。
$ bash test.sh
Enter a filename: hash.pl
The file 'hash.pl' exists.
$ bash test.sh
Enter a filename: odd file.txt
The file 'odd file.txt' exists.
$ bash test.sh
Enter a filename: somefile
The file 'somefile' does not exist!