美文网首页
在脚本中使用变量

在脚本中使用变量

作者: Peng_001 | 来源:发表于2020-06-11 12:59 被阅读0次

环境变量

我们可以直接在shell 脚本中输入$环境变量,来引用它们。

$ cat test4
#!/bin/bash
echo User is: $USER, userid is: $UID, home is: $HOME.

调用

$ test4
User is: mugpeng, userid: is 501, home is: /Users/mugpeng.

ps:如果我们想要输出$,可以使用\反斜线进行转义。

用户变量

和其他的编程脚本一样,linux 也支持我们定义自己的变量,称为用户变量。

用户变量可以为任何由字母、数字、下划线组成的文本字符串,但长度不能超过20个字符。另外linux是识别大小写的

我们可以用等号为变量赋值,并通过与环境变量一样的方法,也即使用$变量的方法调用它。如果在变量前不加上$,linux 会认为其是普通的文本字符串。

$ a=10
$ echo $a
10

命令替换

当我们使用linux 的各种命令,ls, df, ps等时,都会返回许许多多的信息。而shell 脚本最有用的特性之一便是从这些命令输出中提取信息。

其中一个方法便是将这些返回值赋给变量,再对变量进行处理。

一共有两种将命令输出赋值给变量的方法:

a=`date` # 注意是反引号
a=$(date) # 注意要用圆括号

小例子

$ a=$(date)
$ echo $a
Wed Jun 10 22:47:44 CST 2020
  • 当然,命令替换的吸引之处不在这里。

通过命令替换,我们可以设计一个将指定一段内容值保存的日志文件命名为当前日期下的特定名称。
其中> 表示将目录列表内容重定向输出到 log 日志文件。而该文件后缀则通过$today 变量,指定唯一的date 内容。
该脚本在不同的时间运行,也会按照

#!/bin/bash
today=$(date +%y%m%d)
ls /usr/bin -al > log.$today

运行脚本

$ chmod u+x test5
$ test5
$ ls log*
log.200610

而在明天,或其他不同的时间,也会按照指定的date 的样式,我们是%y%m%d,对log 进行命名。

相关文章

  • 利用shell脚本设置hive查询语句中的变量

    在shell脚本中设置的变量,可以通过hive -e直接使用,例如: 方法总结为: 在shell脚本中添加变量 使...

  • shell子进程修改父进程的环境变量值

    shell子进程修改父进程的环境变量值 脚本中的环境变量通过 export 导出,脚本中调用其他脚本使用这个变量 ...

  • perl入门05:子程序

    背景知识--my变量 全局变量:在脚本中的任何位置都可使用; 私有变量:只在程序块大括号{}内起作用。 当脚本开头...

  • Jenkins Pipline使用SonarScanner中遇到

    1.脚本变量定义错误:  自动安装SonarScanner插件,在Pipline脚本中使用官方wiki中说明的脚本...

  • shell脚本(5):变量类型

    变量分为:本地变量、环境变量、位置变量及特殊变量。 1.本地变量 只在shell脚本内部使用,各脚本之间的变量独立...

  • 在脚本中使用变量

    环境变量 我们可以直接在shell 脚本中输入$环境变量,来引用它们。 调用 ps:如果我们想要输出$,可以使用\...

  • 超全局数组(预定义变量)

    概念 超全局数组(变量), 在PHP的脚本中, 已经声明完的变量, 你可以直接就去使用即可! 变量的名子已经规定好...

  • 第二章 JavaScript变量

    <3> 全局变量:省略var,或者在函数外声明局部变量:在函数内声明全局变量可以在整个脚本中被使用,可在不同的类中...

  • 常用ES6语法

    一.var let const (1). 在js中 通常使用 var会发生变量提升,即脚本开始运行时,变量已经存在...

  • linux 任务定制及环境配置

    关键词:linux python脚本 定时执行 通过crontab调度脚本时脚本使用的环境变量与直接在shell中...

网友评论

      本文标题:在脚本中使用变量

      本文链接:https://www.haomeiwen.com/subject/bapmtktx.html