linux - .bash_profile ldapsearch 函数不输出到终端

标签 linux function output bash

<分区>

我的 .bash_profile 中有一个 bash 函数,它没有将结果返回到终端。 当我通过 CLI 正常运行命令时,返回结果。

ldap_check_cleaup () 
{
ldapsearch -LLL -h itdsvbms.SomeDomain.org -p 389 \
    -D "uid=SomeUser,o=SomeDomain.org" -w SomePassWord -b "ou=People,o=SomeDomain.org"  \
    -s sub '(&(ReservedRMAliases=$1)(!(RMid=*))(RMAliasUpdateDate=12/01/2012 19:02:00)(RMAliasStatus=IN)(status=IN))' |  \
        tee /dev/tty  
} 

运行 ldap_check_clenaup TestRecord 从 bash 提示执行时不返回任何输出。 TestRecord 确实存在,当从 CLI 运行以下命令时,将返回正确的记录:

ldapsearch -LLL -h itdsvbms.SomeDomain.org -p 389 -D "uid=SomeUser,o=SomeDomain.org" \
    -w SomePassWord -b "ou=People,o=SomeDomain.org" \
    -s sub '(&(ReservedRMAliases=TestRecord)(!(RMid=***))(RMAliasUpdateDate=12/01/2012 19:02:00)(RMAliasStatus=IN)(status=IN))' | \
        tee /dev/tty`

只有当我尝试将此 ldapsearch 和参数用作 bash 函数时,才会出现输出不足的情况。

我认为这可能与使用 ' 而不是 "作为属性 (!(RMid=*)) 有关,但我不确定,请帮忙。

最佳答案

您需要在包含 $1 的参数周围使用双引号。单引号字符串内不执行变量插值。

关于linux - .bash_profile ldapsearch 函数不输出到终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25769396/

相关文章:

php - contenteditable 在表 : select cells

swift - 使函数能够处理不同的类作为参数

c++ - 背诵和提示输出对齐 C++,输出格式

python - 控制台输出样式、格式化最佳实践

linux - 重定向 Apache 子域 :80 to 8096

linux - 构建 rpm,覆盖 _topdir,但获取 BuildRequires deps?

c++ - 对 glfwSetErrorCallback 的 undefined reference

c - Astyle 错误地格式化 Linux 风格的大括号

c - C 中的数独在框架中单击

r - R 的 GLMER 输出,.sig01、.sig02、.sig03 的含义