我的目标是禁止在cat
或EOF
使用EOD
时可能出现的所有错误消息。
当我运行bash脚本时,我收到错误,因为我故意在文件名的末尾添加了/
符号。
ERROR
my-hello.sh: line 5: hello.txt/: Is a directory
BAD
SCRIPT
#!/bin/bash
function create()
{
cat << EOF > hello.txt/
Hello
EOF
}
createHook
if [ $? -eq 0 ]; then
printf "GOOD"
else
printf "BAD"
fi
如何禁止在终端上打印错误信息?
我尝试了2>/dev/null
,但EOF
因为已知的白色间距原因而不喜欢它。
注意:文件的内容实际上更大,但我只是简单地将Hello
放入其中。如果能解决我的问题,我会对变化持开放态度。
答案 0 :(得分:1)
您需要使用重定向到/dev/null
,如下所示:
function create()
{
cat 2>/dev/null << EOF > hello.txt/
Hello
EOF
}
您还可以重定向create()
功能中的所有错误:
function create()
{
cat << EOF > hello.txt/
Hello
EOF
}
createHook 2>/dev/null