1.首先使用vi/vim编写一个shell脚本
shell脚本格式如下
#! /bin/bash
内容
简单写一个shell脚本
#! /bin/bash
echo helloword
编写之后如下所示

下面介绍一下shell脚本怎么运行
1. ./+脚本名运行(需要赋予脚本可执行权限)
./hello.sh
运行脚本出现下面问题,需要赋予脚本可执行权限

赋予权限并执行脚本

2.使用 sh+file(不需要脚本拥有可执行权限)

3.source+file(不需要脚本拥有可执行权限)

三种执行方式区别
1,2前两种会开启新bash,不同bash中的变量无法共享
3方式则是在同一个shell里面执行
下面举个例子
//声明一个name=chd的变量,并输出打印一下
[root@chd test]# name=chd
[root@chd test]# echo $name
chd
[root@chd test]#
在sh脚本中添加echo文本输出命令 echo $name

使用前两种方式发现并没有输出name值

第三种方式输出了name值

下面画图介绍一下为什么产生这种区别

那么怎么解决使用./或者sh执行脚本获取不到值得问题呢?
export:可以将当前进程的变量传递给子进程使用
//使用export声明变量
export name chd


本文介绍了如何使用vi/vim创建和运行shell脚本,包括./、sh及source三种执行方式的区别。在不同的执行方式下,变量的共享存在差异:./和sh会开启新bash,变量无法跨bash共享,而source则在同一个shell环境中执行,允许变量共享。通过export命令,可以将变量传递给子进程使用,解决使用./或sh执行脚本时获取不到变量值的问题。
16万+

被折叠的 条评论
为什么被折叠?



