变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中,通过正确地调用内存空间中变量的名字就可以取出与变量对应的数据使用变量最大的好处就是使程序开发更为方便,同时,在编程中如不使用变量也很难完成相关程序开发工作简单地说,变量就是用一个固定的字符串(字符、数字等组合)代替更多、更复杂的内容,该内容里可能还包含变量、路径、字符串等其他的内容,我来为大家科普一下关于linux shell脚本参数?以下内容希望对你有帮助!
linux shell脚本参数
变量是暂时存储数据的地方及数据标记,所存储的数据存在于内存空间中,通过正确地调用内存空间中变量的名字就可以取出与变量对应的数据。使用变量最大的好处就是使程序开发更为方便,同时,在编程中如不使用变量也很难完成相关程序开发工作。简单地说,变量就是用一个固定的字符串(字符、数字等组合)代替更多、更复杂的内容,该内容里可能还包含变量、路径、字符串等其他的内容。
默认情况下,在 bash shell 中是不会区分变量类型;这和其他强类型语言(例如:Java/C 语言)是有区别的。当然也可以使用 declare 显示定义变量的类型,来指定 Shell 变量类型,但一般情况下没有这个需求。Shell 变量可分为两类:环境变量(全局变量)和普通变量(局部变量)。
一、环境变量环境变量也可称为全局变量,可以在创建它们的 Shell 及其派生出来的任意子进程 Shell 中使用,环境变量又可分为自定义环境变量和bash 内置的环境变量。
环境变量一般是指用 export 内置命令导出的变量,用于定义 Shell 的运行环境,保证 Shell 命令的正确执行。Shell 通过环境变量来确定登陆用户名、命令路径、终端类型、登陆目录等,所有的环境变量都是系统全局变量,可用于所有子进程中,这包括编辑器、Shell 脚本和各类应用。环境变量可以在命令行中设置和创建,但用户退出命令行时这些变量值就会丢失,所以在用户家目录下的 .bash_profile 或 bashrc (非用户登录模式特有,例如远程SSH) 文件中,或者,在全局配置 /etc/profile 文件中定义或 /etc/bashrc (非用户登录模式特有,例如远程SSH) 。在将环境变量放入上述的文件中后,每次用户登录时这些变量都将被初始化,也就是可以永久保存环境变量不会随着用户退出命令行这些变量值就会丢失。
用户登录系统后首先会加载/etc/profile全局变量文件,这是Linux系统上默认的shell主环境变量文件。系统上每个用户登录都会加载这个文件。当加载完/etc/profile文件后,才会执行/etc/profile.d目录下的脚本文件。之后开始运行$HOME/.bash_profile(用户环境变量文件),在这个文件中,又会去找$HOME/.bashrc(用户环境变量文件),如果有则执行,如果没有则不执行。在$HOME/.bashrc文件中又会去找/etc/bashrc(全局环境变量文件),如果有则执行,如果没有则不执行。
如果用户的shell不是登录时启动的,非登录shell只会加载$HOME/.bashrc(用户环境变量文件),并会去找/etc/bashrc(全局环境变量文件)。如果希望在登录shell下也可以读到设置的环境变量等内容,就需要将变量设定等写入$HOME/.bashrc或者/etc/bashrc,而不是$HOME/.bash_profile或/etc/profile。
,