是否可以检查用户对rm -i
执行的响应?
我想根据用户是否回复echo
或y
来n
。
无论用户的响应如何,命令都会成功返回,因此此尝试无效:
$ rm -i testfile.txt && echo "The file was deleted."
remove testfile.txt? n
The file was deleted.
我的理由是,echo
部分仅在rm
部分成功的情况下才会执行,但是显然n
响应也算作成功执行。
我还希望能够根据答案来更改消息。这段代码可以做到,但不是很漂亮。
file=testfile.txt
touch $file
read -p "Are you sure (y/n)? " answer
if [[ $answer =~ ^[yY](es|ES)?$ ]]; then
rm $file
echo "Deleted file."
else
echo "Did nothing."
fi
肯定有一种方法可以将输入传递到rm -i
。
怎么样?