轻松理解Shell脚本中的变量(二)

5.用户环境变量的更改

环境变量:
用户在操作系统时使用到的命令搜索路径
在这里插入图片描述

vim /bin/westos.sh

在这里插入图片描述
在这里插入图片描述
发现其不用绝对路径就可以执行脚本,因为他写在$PATH中。我们将它移到 /mnt/ 中,
在这里插入图片描述
发现只有执行绝对路径可以执行脚本。那么我们如果想让 /mnt/下的脚本也不用绝对路径就能执行,我们可以:
设定方式:

用户变量设置:

~/.bash_profile

export PATH=$PATH:/mnt
在这里插入图片描述
在这里插入图片描述
thermal用户就可以直接用文件名执行 /mnt/ 下的脚本了,切换回root用户则不行:
在这里插入图片描述
全局变量设置:

/etc/profile

export PATH=$PATH:/mnt
在这里插入图片描述
source  /etc/profile
在这里插入图片描述
所有的用户都因为配置文件的更改而获得了/mnt 这个搜索路径。

6.利用命令的执行结果设定变量

1)直接利用命令执行结果

$() 或者 ``                优先执行
TEST=`hostname` 
TEST=$(hostname)

在这里插入图片描述
在这里插入图片描述

2)脚本中的传参

非交互模式:
在这里插入图片描述
在这里插入图片描述
$0 is /mnt/test.sh          ##脚本本身
$1 is westos            ##脚本后所输入的第一串字符
$2 is linux
$3 is redhat
$* is westos linux redhat       ##脚本后所输入的所有字符"westos linux redhat"
$@ is westos linux redhat      ##脚本后所输入的所有字符’westos’ ‘linux’ ‘redhat’
$# is 3               ##脚本后所输入的字符串个数

交互模式传参:
read WESTOS               ##对westos赋值
在这里插入图片描述
read -p “please input word:”         ##输出提示语
在这里插入图片描述
-s                    ##隐藏输入内容
在这里插入图片描述

7.脚本函数

定义: 程序的别名

设定方式:
WORD()
{
action1
action2
}

WORD 在脚本中就代表action1 action2这两个动作

例:
在这里插入图片描述
大括号内是 READ_ACTION 这个程序函数执行的动作,
中间的 READ_ACTION 用来循环动作,
最后面的 READ_ACTION 是执行的命令函数
在这里插入图片描述
可以看出,在循环执行程序命令

发布了41 篇原创文章 · 获赞 15 · 访问量 2857

猜你喜欢

转载自blog.csdn.net/thermal_life/article/details/105219374