作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我一直在尝试在 Ubuntu 中自定义位于 ~/.profile
的 shell 配置文件。我想做的一件事是:
# PATH-like variable containing paths separated by ':'
MY_ROOTS=/f/o/o:/b/a/r:/e/t/c
for some magic iterating my_root in $MY_ROOTS do;
my_bin="$my_root/bin"
# add it to PATH!
[ -d "$my_bin" ] && {
expr ":$PATH:" : ".*:$my_bin:.*" >/dev/null || PATH="${PATH:+"$PATH:"}$my_bin"
}
done
因为它在 .profile 中,所以我需要 iterating
部分Bourne Shell 兼容。很多人都问过这样的问题,但我相信大多数这些解决方案看起来像 Bashism。在我花了很多时间谷歌搜索之后,我仍然没有找到合适的答案。请问您有什么建议吗?
最佳答案
尝试:
OIFS="$IFS"
IFS=:
MY_ROOTS=/f/o/o:/b/a/r:/e/t/c
for my_root in $MY_ROOTS; do
# your code here with $my_root
done
IFS="$OIFS"
关于string - 如何在 BOURNE SHELL 中通过分隔符拆分和迭代子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274647/
我是一名优秀的程序员,十分优秀!