gpt4 book ai didi

linux - ${-#*i} 在 shell 脚本中是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 00:20:22 25 4
gpt4 key购买 nike

CentOS 6 上的/etc/profile 文件中有一个for 循环:

for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fi
fi
done

上面for循环中的${-#*i}是什么意思?
感谢您的帮助。

最佳答案

$- 表示 shell 标志。

${-#*i} 表示 shell 标志减去 *i 的第一个匹配项。

如果这两者不相等,则 shell 被认为是交互式的(存在标志 i)。

关于linux - ${-#*i} 在 shell 脚本中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com