在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}
是什么意思?
谢谢你的帮助。
发布于 2017-02-06 07:51:20
$-
表示外壳标志。
${-#*i}
表示外壳标志减去*i
的第一个匹配项。
如果这两者不相等,则认为shell是交互式的(存在标志i
)。
https://stackoverflow.com/questions/42058539
复制相似问题