.bashrc环境变量设置及/etc/oratab文件配置相关问题咨询
关于.bashrc更新代码的反斜杠问题
不能去掉第一个反斜杠,原因如下:
- 这里的反斜杠是
$符号的转义符,作用是避免$PATH在脚本执行的当前shell环境中提前展开。 - 如果去掉反斜杠直接写
PATH=$PATH:$VNOM_HOME/bin,$PATH会被执行sudo命令的当前shell替换成当时的PATH值,作为硬编码内容写入.bashrc,而不是你期望的$PATH字符串。 - 保留反斜杠的情况下,最终写入
.bashrc的内容是PATH=$PATH:$VNOM_HOME/bin,用户登录加载.bashrc时才会动态解析当前用户的PATH变量完成拼接,这才是脚本的预期效果。
关于/etc/oratab配置的相关问题
末尾:N的作用
这个参数是必填项,属于/etc/oratab的标准格式要求:
/etc/oratab是Oracle专属的配置文件,固定采用三字段冒号分隔的格式:实例/服务名:对应HOME路径:自动启动标志- 第三个字段的
N表示操作系统启动时,执行dbstart类的自动启动脚本时,不会自动启动这个GSM服务;如果填Y则会允许自动启动。 - 缺少这个字段的话,所有依赖oratab的Oracle管理工具(包括dbstart、dbshut、配套运维脚本等)都会解析失败,无法正常识别这条配置。
冒号分隔和等号的区别
这是配置文件的语法规则决定的:
/etc/oratab不是shell的环境变量配置文件,不遵循shell的变量名=值的赋值语法。- 它采用的是UNIX类系统常见的纯文本分隔式配置格式,冒号是字段分隔符,用来区分三个不同含义的配置项,Oracle的解析工具只会识别这种冒号分隔的格式,换成等号会被判定为非法配置,无法正常读取。
内容的提问来源于stack exchange,提问作者user496934
相关产品推荐
相关产品推荐

