2 回答
TA贡献1806条经验 获得超5个赞
!是交互模式下的特殊字符(它执行命令历史记录替换),而不是脚本中的特殊字符。您应该以交互方式键入此内容,还是将其嵌入脚本中?如果是后者,则可以使用双引号,!这样就不会有问题。
如果您以交互方式使用此功能,则有很多选择。一种是将引号模式混入单个参数中,如"double-quoted-section"'single-quoted-section'"another-quoted-section"。这看起来很奇怪,但效果很好。像这样的东西:
ldapsearch -h 1.0.24.24 -p 389 -x -t -LLL -S cn \
-D cn=user,ou=resources,o=otherresource,c=xx -w server101 \
-b ou=Non-Staff,ou=people,o=test,c=us \
"(&(objectClass=inetOrgPerson)(createTimestamp<=$month_8)("'!'"(nEApps=*))(nEDHHSNFAccNbr=\00)(nECreatedBy=cioSelfRegistered)(loginTime<=$month_3))" dn
^^^^^
或者,您可以将变量定义为!(使用单引号),然后在双引号内使用该变量:
exclamation='!'
ldapsearch -h 1.0.24.24 -p 389 -x -t -LLL -S cn \
-D cn=user,ou=resources,o=otherresource,c=xx -w server101 \
-b ou=Non-Staff,ou=people,o=test,c=us \
"(&(objectClass=inetOrgPerson)(createTimestamp<=$month_8)($exclamation(nEApps=*))(nEDHHSNFAccNbr=\00)(nECreatedBy=cioSelfRegistered)(loginTime<=$month_3))" dn
^^^^^^^^^^^^
- 2 回答
- 0 关注
- 239 浏览
添加回答
举报