条件运算符中闭引号后的额外字符
Extra characters after close quote in conditional operator
我正在使用条件运算符,但出现错误 "extra characters after close-quote"。 fdx 是我试图通过函数参数传递的参数,我正在检查传递的参数是否为 "fdx" ,并根据该参数确定要写入的值。
proc set_ifg_seville2 {port sgmii speed fdx} {
case $speed {
10 {
erf_wr -s dev_$port mac_ifg_cfg tx_ifg [expr ($fdx == "fdx") ? 5:4]
}
} #Closing procedure
代码中的三元运算表达式应更改为,
erf_wr -s dev_$port mac_ifg_cfg tx_ifg [expr {$fdx == "fdx" ? 5:4}]
示例:
% set fdx "fdx"
fdx
% set result [expr {$fdx=="fdx" ? "pass" : "fail" }]
pass
% set result [expr {$fdx=="Whosebug" ? "pass" : "fail" }]
fail
%
参考: expr
我正在使用条件运算符,但出现错误 "extra characters after close-quote"。 fdx 是我试图通过函数参数传递的参数,我正在检查传递的参数是否为 "fdx" ,并根据该参数确定要写入的值。
proc set_ifg_seville2 {port sgmii speed fdx} {
case $speed {
10 {
erf_wr -s dev_$port mac_ifg_cfg tx_ifg [expr ($fdx == "fdx") ? 5:4]
}
} #Closing procedure
代码中的三元运算表达式应更改为,
erf_wr -s dev_$port mac_ifg_cfg tx_ifg [expr {$fdx == "fdx" ? 5:4}]
示例:
% set fdx "fdx"
fdx
% set result [expr {$fdx=="fdx" ? "pass" : "fail" }]
pass
% set result [expr {$fdx=="Whosebug" ? "pass" : "fail" }]
fail
%
参考: expr