基本脚本编译------------(创建脚本与使用变量)
Posted WEL测试
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本脚本编译------------(创建脚本与使用变量)相关的知识,希望对你有一定的参考价值。
2.1 创建脚本与使用变量
shell脚本的关键是可以输入多条命令,处理每一条命令的结果,甚至可以将一条命令的结果传递给另一条命令。shell可以将多条命令连接起来形成单一的步骤。如果想将两条命令一起运行,可以将它们输入到同一提示行中,并用分号将它们分割开来。基本的使用实例如下:
采用这种技术,可以将任意多条命令连接在一起,命令行的最大字符数不超过255个字符。虽然该技术适用于小脚本,但是它有一个主要缺点,即每次想要运行命令时,都必须在命令提示符处输入整条命令。相对于在命令行手动输入命令,可以将命令合并到一个简单的文本文件中。需要运行行命令时,只需运行文本文件即可。
2.1.1 创建脚本
创建shell脚本文件时,必须在文件的第一行指明所使用的shell。格式如下:"#!/bin/bash"。
在普通的shell脚本行中,井号(#)用作注释行。shell不处理shell脚本中的注释行。但是,shell脚本文件的第一行是个特例,#后面跟着感叹号告诉shell运行下列脚本的shell。
指明shell以后,将命令输入到文件中的每一行,后面紧跟一个回车。使用#符号可以添加注释。如果想将两条命令一起运行,可以将它们放在同一行,并用分号将其隔开,但在shell脚本中,可以分行列出每条命令。shell将按照文件中命令的顺序处理命令。
PATH环境变量设置为只可以在少数目录中查找命令。要使shell找到shell脚本,需要执行下列任意一种操作:
(1) 将shell脚本文件所在的目录添加到PATH环境变量中。
(2) 在命令行提示符中使用文件的绝对路径或相对路径来引用该shell脚本。
shell能轻松找到shell脚本文件,但是没有给shell脚本执行该文件的权限。
创建和运行shell脚本实例如下所示:
#!/bin/bash
#这是一个简单的shell脚本
echo hello world
who
date
echo命令既可以用双引号也可以用单引号来标记文本字符串。默认情况下不需要使用引号来标记想要显示的字符串。echo参数列表:
echo的操作实例如下所示:
echo命令是与用户交互的shell脚本关键部分。
2.1.2 使用变量
从shell脚本中单独运行单独的命令很有用,但是有局限性。通常想要在shell命令中结合其他数据以处理信息,为此可以使用变量。变量运行在shell脚本中暂存信息,以便与脚本中其他命令一起使用。
1.环境变量
shell维护跟踪特定系统信息的环境变量,这些系统信息包括系统的名称、登录到系统中的用户名、用户的系统ID、用户的默认根目录,以及shell查找程序使用的搜索路径。
通过使用$开头的环境变量可以从脚本中引进这些环境变量。无论何时当脚本在引号内发现$符号时,它会认为引用一个变量。要显示一个$符号,必须在它们前面加上反斜杠符(/)。
反斜杠可以使用shell脚本将$符号转义为实际的美元符号,而不是一个变量。可以使用$variable格式引用变量。包围变量名的大括号通常用来将变量名与$符号区分开来。环境变量使用实例如下所示:
#!/bin/bash
#使用环境变量
echo Use enviroment variable
echo "当前用户名:$USER"
echo "当前工作路径:$PWD"
echo "输入PATH:$PATH"
echo "this is $15"
echo "this is \\$15"
2.用户变量
除了环境变量,shell脚本允许在脚本中设置和使用自己的变量。设置变量可以暂时存储数据并在脚本中使用它们。
用户变量可以是由不超过20个字符的字母、数字或下划线组成的文本字符串。用户变量区分大小写,所以变量Var1与变量var1是不同的。
值通过等号赋值给用户变量。在变量、等号和变量值之间不允许有空格。shell脚本自动为变量值确定数据类型。脚本中定义的变量在shell脚本的生命周期内保留它们的值,但是当shell脚本完成时就被删除。
当用$符号引用变量值,但是当引用变量给它赋值时,不能使用美元符号。当在赋值语句中使用变量的值时,必须仍使用$符号。操作实例如下所示:
#!/bin/bash
#用户变量的使用
var1=hello world
var2=hello bob
var3=20
var4=$var3
echo "输出变量var1:$var1"
echo "输出变量var2:$var2"
echo "输出变量var3:$var3"
echo "输出变量var4:$var4"
3.反引号
反引号允许将shell命令的输出赋值给变量。必须将整个命令行命令用反引号包围起来。
#!/bin/bash
dir=`pwd`
echo "输出当前路径:"$dir
echo "返回上一层目录"
cd ..
cur_dir=`pwd`
echo "输出当前路径:"$cur_dir
cd $dir
echo "列表当前路径下的文件"
filelist=`ls`
echo "运行当前路径下的shell脚本"
for f in Demo1 Demo2 Demo3
do
$f
done
以上是关于基本脚本编译------------(创建脚本与使用变量)的主要内容,如果未能解决你的问题,请参考以下文章
Unity3DUnity 脚本 ① ( 创建 C# 脚本 | Visual Studio 2019 中打开 C# 脚本 | 编译 C# 脚本 | 挂载 C# 脚本到游戏物体 | 运行脚本 )
为啥脚本语言(例如 Perl、Python、Ruby)不适合作为 shell 语言? [关闭]
如何设置基本的 C++/C 编译,然后为 emscripten 构建链接脚本