有人可以在bash中解释这个try / catch选项吗?

所以我发现bash不处理异常(没有try / catch).
对于我的脚本,我想知道一个命令是否成功.

这是我现在的代码的一部分:

command = "scp -p$port $user:$password@$host:$from $to"
$command 2>/dev/null

if (( $? == 0 )); then
    echo 'command was successful'
else
    echo 'damn,there was an error'
fi

我不明白的是:

>第3行,为什么要把$2放在$命令之后?
第5行,这是什么呢?

$?是指最后执行的命令的返回码.

2 – ;意味着将stderr(标准错误流)输出重定向到/ dev / null.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...