Linux 在unix shell中(:${foo%%bar})是什么意思

Linux 在unix shell中(:${foo%%bar})是什么意思,linux,bash,shell,unix,Linux,Bash,Shell,Unix,我知道foo是一个变量,${foo%%bar}表示在$foo中删除最后一个bar 但是那里的(:)是什么意思呢 我是壳牌公司的新手,有人能帮我吗?谢谢 与>>重定向操作符结合使用,对预先存在的目标文件(:>>目标文件)没有影响。如果该文件以前不存在,则创建它。 与>>重定向操作符结合使用,对预先存在的目标文件(:>>目标文件)没有影响。如果文件以前不存在,则创建它。在bash中,:表示true 尝试: 在bash中,:表示true 尝试: @anubhava此代码段是检查健全shell的函数的

我知道
foo
是一个变量,
${foo%%bar}
表示在
$foo
中删除最后一个
bar
但是那里的
(:)
是什么意思呢

我是壳牌公司的新手,有人能帮我吗?谢谢

与>>重定向操作符结合使用,对预先存在的目标文件(:>>目标文件)没有影响。如果该文件以前不存在,则创建它。


与>>重定向操作符结合使用,对预先存在的目标文件(:>>目标文件)没有影响。如果文件以前不存在,则创建它。

在bash中,
表示
true

尝试:


在bash中,
表示
true

尝试:


@anubhava此代码段是检查健全shell的函数的一部分。看见unset确保未定义foo。@anubhava此代码段是检查健全shell的函数的一部分。看见unset确保未定义foo。
#!/bin/sh
unset foo
(: ${foo%%bar}) 2> /dev/null
E1="$?"
: && echo ok; true && echo ok; : || echo ok; true || echo ok