0

我正在尝试获取当前会话中所有进程打开的所有常规文件。我有这个代码

while read pid
do

        FILES_ACTUAL=$(lsof -p $pid | grep REG | wc -l)   


done < <(ps -o pid,tt -u $USER | grep $CURRENT_TERMINAL | awk '{print $1}')

echo $FILES_ACTUAL

但我不知道如何在此期间加起来变量 $FILES_ACTUAL.. 我尝试使用 awk 命令,但我做不到。

4

2 回答 2

1

您可以通过将语句括在 (()) 中来执行 bash 算术:

NEW_FILES=$(lsof -p $pid | grep REG | wc -l)
((FILES_ACTUAL+=NEW_FILES))
于 2012-10-10T12:34:09.307 回答
0

还有一个名为的命令expr,它对整数进行简单的算术运算,可以像这样使用:

expr $VAR1 + $VAR2
于 2018-11-06T18:26:22.493 回答