0

嗨,我开始学习如何制作和使用 shell 脚本,我想要制作的 shell 脚本之一是一个 shell 脚本,它接收来自用户的字符串输入,该用户要求输入文件名并报告文件是否存在或不。我不确定该怎么做。这是我写的:

#!/bin/bash
read string1
 echo${#string1} ; grep

我不知道输入 grep 后该怎么办。请帮忙。

4

2 回答 2

1

grep 查找出现在文件内容中的字符串。如果您只想测试是否存在具有给定名称的文件,则不需要 grep。

#!/bin/bash
read string1    
if test -e ${string1}; then
    echo The file ${string1} exists
fi

会做。

[按照@glenn jackman 的建议从评论复制到答案]

于 2013-11-02T19:21:30.830 回答
1

使用文件测试运算符而不是 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!
于 2013-11-02T20:35:55.030 回答