linux bash变量作用域 一,思考一个问题,当在shell里执行某个程序时,shell是怎么找到这个程序的? shell会去$PATH环境变量定义的目录里去找这个命令.环境变量里一般包括/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin这么多目录,这些目录下又有上千个程序,从这么多目录里的,这么多程序里查找肯定是花费时间的.shell为了提高查找效率,使用了缓存机制,这个机制叫hash.. 有了hash缓存后,shell先