我希望我的 shell 检测是否是人类行为,然后显示提示。
所以,假设文件名是 test.bash
#!/bin/bash
if [ "x" != "${PS1:-x}" ] ;then
read -p "remove test.log Yes/No" x
[ "$x" = "n" ] && exit 1
fi
rm -f test.log
但是,我发现如果我没有设置 PS1,它就无法工作。有没有更好的方法?
我的测试方法:
./test.bash # human interactive
./test.bash > /tmp/test.log # stdout in batch mode
ls | ./test.bash # stdin in batch mode