在shell中IF语句中两个变量之间的正斜杠是什么意思?



我试图理解这里两个变量之间的正斜杠是什么?

"$ {lsof_line/$ c2}">

下面是上下文。(c2_iocs是一个文本文件)

lsof_output=$(lsof -i)
for lsof_line in ${lsof_output}; do
for c2 in "${c2_iocs[@]}"; do
# echo "$lsof_line - $c2"
if [ "${lsof_line/$c2}" != "$lsof_line" ]; then
log warning "[!] C2 server found in lsof output SERVER: $c2 LSOF_LINE: $lsof_line"
fi
done
done

这是一个字符串替换操作。当没有提供替代文本时,遵循模式的/是可选的。${lsof_line/$c2}${lsof_line/$c2/}等效,均从$lsof_line中删除$c2中包含的字符串。

最新更新