我想问你如何隐藏我的函数中的回声,但仍然使用它的回声作为下一次处理的变量。隐藏回声保持变量bash
我的代码是:
function str_str {
local str
str="${1#*${2}}"
str="${str%%$3*}"
echo -n "$str"
}
mystr=$(cat /etc/logrotate.conf)
str_str "$mystr" "access.log" "}"
OKACCESS=$(str_str "$mystr" "access.log" "}" | grep -e "daily" -e "size" -e "rotate" -e "create" -e "weekly" -c)
echo $OKACCESS
当我删除了:
echo -n "$str"
我不能用它作为OKACCESS一个变量,它返回0,应该返回4(回声不工作隐藏或传递给dev> null)。
如何隐藏函数的输出而不限制OKACCESS变量的定义?
谢谢你的帮助。
E:
我所试图做的事:
当我执行我的当前脚本,它的输出是:
[[email protected] test]# ./tester.sh
{
missingok
daily
rotate 10
create 0664 jboss jboss
postrotate
/usr/bin/kill -s SIGHUP `cat /var/run/syslogd.pid`
endscript
dateext
4
当我删除了 “回声-n” $海峡“” 的一部分,我得到这个:
0
,我需要这样的:
4
我很抱歉,但它不是完全清楚你想要什么来完成,并且你是有问题的一部分用。你可以请[编辑]你的问题来解释你想要做什么? – tripleee
完成:)我希望这有助于。 –
你有复制/粘贴这些代码而不理解它是什么吗?如果你的函数没有产生任何输出,'grep'不会找到任何命中。 – tripleee