我想問你如何隱藏我的函數中的回聲,但仍然使用它的回聲作爲下一次處理的變量。隱藏回聲保持變量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