小编Lum*_*ify的帖子

条件正则表达式错误

string=123456

if [ $string == 123456 ]; then
echo 123
fi
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果我将 == 更改为 =~ 我会收到此错误:

./test: line 3: [: =~: binary operator expected
Run Code Online (Sandbox Code Playgroud)

bash shell-script

16
推荐指数
1
解决办法
4085
查看次数

指定管道输出位置

我想做这样的事情:

echo myserver:~/dir/2/ | rsync -r HERE /local/path/
Run Code Online (Sandbox Code Playgroud)

我希望输出重定向到命令中的指定位置。回声的东西去“这里”。什么是最简单的方法来做到这一点?

linux bash pipe

10
推荐指数
2
解决办法
4148
查看次数

基于命令的 if 语句

我发现这种执行if命令的方法:

$if echo test | grep st ; then echo yes ; fi ; echo $?
test
yes
0
Run Code Online (Sandbox Code Playgroud)

看起来不错。让我们尝试一下不匹配:

$if echo test | grep 123 ; then echo yes ; fi ; echo $?
0
Run Code Online (Sandbox Code Playgroud)

那是不对的。该if语句运行正常,但返回零退出代码。

有人能为我解释一下吗?

exit-status

2
推荐指数
1
解决办法
1379
查看次数

标签 统计

bash ×2

exit-status ×1

linux ×1

pipe ×1

shell-script ×1