如何避免在BASH中打印错误?

如何避免在BASH中打印错误?,bash,shell,Bash,Shell,如何避免在BASH中打印错误?我想做这样的事。如果用户输入错误的参数(例如“.”),它将退出程序,而不是在终端上显示错误。(我还没有在这里发布全部代码……有点长)。 2>/dev/null将放弃任何错误。您的代码可以简化如下: #!/usr/bin/env bash if [[ $# -eq 0 ]]; then echo "Usage: $0 refresh_interval (in seconds)" read -p "Please provide time: " sle

如何避免在BASH中打印错误?我想做这样的事。如果用户输入错误的参数(例如“.”),它将退出程序,而不是在终端上显示错误。(我还没有在这里发布全部代码……有点长)。


2>/dev/null
将放弃任何错误。您的代码可以简化如下:

#!/usr/bin/env bash

if [[ $# -eq 0 ]]; then
    echo "Usage: $0 refresh_interval (in seconds)"
    read -p "Please provide time: " sleep_time
else
    sleep_time=$1
fi

sleep "$sleep_time" 2>/dev/null || { echo "Wrong time" >&2; exit 1; }

# everything OK - do stuff here
# ...

睡眠…>/dev/null 2>&1 | |退出1
?睡眠:无效的时间间隔“”。有关详细信息,请尝试“睡眠--帮助”。我得到这个错误。。。我不想显示错误…你用的正是我写的吗?
sleep“$sleep\u time”>/dev/null 2>&1 | | |退出1
?如果[“$?”-eq 0],则不需要非常难看的
。如果sleep$sleep\u time 2>/dev/null,那么编写
会更干净;然后…
是的,谢谢你,成功了。。。
#!/usr/bin/env bash

if [[ $# -eq 0 ]]; then
    echo "Usage: $0 refresh_interval (in seconds)"
    read -p "Please provide time: " sleep_time
else
    sleep_time=$1
fi

sleep "$sleep_time" 2>/dev/null || { echo "Wrong time" >&2; exit 1; }

# everything OK - do stuff here
# ...