我有一个bash脚本,每晚在cron作业中运行。它需要进行不区分大小写的文件匹配,因此脚本调用
shopt -s nocaseglob我想确保这不会影响其他cron脚本。此设置是否在此脚本结束后持续存在?还是仅在脚本的持续时间内启用此设置?
谢谢!
发布于 2014-11-21 00:42:06
使用shopt设置选项是一个shell设置。它只影响运行它的shell实例:它是shell进程的本地实例,也是由$(…)、(…)和类似结构调用的子shell。它对并发或稍后执行的其他shell脚本没有任何影响,甚至对由该脚本执行的命令执行的独立bash脚本也没有任何影响。
这同样适用于变量的值和类型,只要它们不是导出的。还可以拥有函数的本地变量;选项始终是全局的,也就是说,如果将它们设置在函数中,则在函数返回时它们将保持不变。
环境变量(即导出的变量)、I/O重定向、资源限制、umask、当前目录和一些其他设置适用于当前shell进程以及所有子进程(即该脚本调用的所有命令)。它们也不会逃逸到可能并发执行的无关进程。
https://unix.stackexchange.com/questions/169104
复制相似问题