0
点赞
收藏
分享

微信扫一扫

[Angular] 笔记 23:Renderer2 - ElementRef 的生产版本

穆熙沐 2024-01-03 阅读 8
chrome前端

shell变量

  • 变量定义与赋值,变量与值之间不得有空格
  • 变量替换/引用
  • 变量命名规则
  1. 名称定义要做到见名知意,切按照规则来,切不得引用保留关键字(help检查保留字)
  2. 只能包含数字、字母、下划线
  3. 不能以数字开头
  4. 不能用标点符号
  5. 变量严格区分大小写
  • 变量的作用域 

本地变量,只针对当前的shell进程 

 

环境变量:也称为全局变量,针对当前shell以及其任意子进程,环境变量也分自定义、内置两种环境变量

局部变量:针对shell函数或是shell脚本中定义

位置参数变量:用于shell脚本中传递的参数。

特殊变量:shell内置的特殊功效变量

自定义变量

  • 变量赋值: name=ni
  • 变量引用:${name}、$name 

              双引号,会识别特殊符号

 不同的执行方式,不同的shell环境

解答:

1.每次调用bash/sh都会开启一个子shell,因此不保留当前shell变量,通过pstree命令检查进程树

2.调用source是在当前shell环境加载脚本,因此保留变量。

 环境变量设置

环境变量一般指的是用export内置命令导出的变量,用于定义shell的运行环境、保证shell命令的正确执行。shell通过环境变量确定登录的用户名、PATH路径、文件系统等各种应用。

环境变量可以在命令行中临死创建,但是用户退出shell终端,变量即丢失,如要永久生效,需要修改环境变量配置文件

   用户个人配置文件 ~/.bash_profile、~/.bashrc远程登录用户特有文件

   全局配置文件 /etc/profile、/etc/bashrc,且系统建议最好创建在/etc/profile.d/,而非直接修改主文件,修改全局配置文件,影响所有登录系统用户

检查系统环境变量的命令 

  • set:输出所有变量,包括全局变量、局部变量
  • env:只显示全局变量
  • declare:输出所有的变量,如同set
  • export: 显示和设置环境变量的值

撤销环境变量 

  • unset 变量名,删除变量或函数

设置只读变量

 readonly:不能修改变量的值,只有shell结束,只读变量失效。

bash多命令执行 

特殊变量 

shell的特殊变量,用在如脚本,函数传递参数使用,有如下特殊的,位置参数变量

特殊状态变量 

Shell子串 

bash一些基础的内置命名

echo命令

eval命令

执行多个命令

exec命令

不创建子进程,执行后续命令,且执行完毕后,自动exit。

read命令

[root@localhost ~]# read[选项][变量名]

选项

-p "提示信息“在等待read输入时,输出提示信息
-t 秒数read命令会一直等待用户输入,使用此选项可以制定等待时间
-n 字符数read命令值接受指定的字符数,就会执行
-s隐藏输入的数据,适用于机密信息的输入
#!/bin/bash
#Author: mlz
 
read -t 30 -p "Please input your name:" name
#提示“请输入姓名”并等待30秒,把用户的输入保存入变量name中
 
echo "Name is $name"
 
read -s -t 30 -p "Please enter your ege: " age
#年龄是隐私,所以我们用“-s”选项隐藏输入
 
echo "Age is $age"
echo -e "\n"
 
read -n 1 -t 30 -p "Please select your gender[M/F]: " gender
#使用“-n l”选项只接收一个输入字符就会执行(都不用输入回车)
 
echo -e "\n"
echo "Sex is $gender"

 shell子串的花式用法

[root@localhost /]# name=abcAHHIOac
[root@localhost /]# echo $name
abcAHHIOac
[root@localhost /]# echo ${name#a*c}
AHHIOac
[root@localhost /]# echo ${name##a*c}

[root@localhost /]# 

 特殊shell拓展变量

shell的特殊符号整理

shell数学运算

expr模式匹配

expr计算用于整数,有些运算符需要转译 

xufan@cengdongdeiMac Documents % expr 3 \* 2
6
xufan@cengdongdeiMac Documents % expr 3 + 2
5

expr命令判断文件名后缀是否合法 

#!/bin/bash

#从参数1中匹配一个字符串以.jpg结尾,并返回匹配上的字符串的长度,并且将输出写入到黑洞文件中
if expr "$1" ":" ".*\.jpg" &> /dev/null
   then
   	   echo "这的确是以jpg结尾的文件~"
else
	echo "这不是jpg文件"
fi

bc命令

bc命令当做计算器来用的,命令行的计算器

把计算式子通过管道符传给bc命令

xufan@cengdongdeiMac Documents % re=`echo "$num*3" | bc`
xufan@cengdongdeiMac Documents % echo $re
9

awk计算

awk既支持整数也支持小数计算

awk支持if条件判断,数组等等

xufan@cengdongdeiMac Documents % echo "3.2 2.2" | awk '{print $1+$2}'
5.4

中括号运算 

xufan@cengdongdeiMac Documents % echo $[4*2]
8

 shell的条件测试

条件测试常用的语法

test条件测试 

test命令评估一个表达式,他的结果是真,还是假,如果条件为真,那么命令执行状态码结果就为0,否则就是不为0,通过$?取值

test的语法参数大全

1.针对文件类型判断真假

2.关于文件的权限侦测,如 test -r filename 

3.两个文件之间的比较, 如:test file1 -nt file2

4.关于两个整数之间的判定,例如 test n1 -eq n2 

5.判断字符串的数据

6.多重条件判定,例如:test -r filename -a -x filename

在shell中,对于真假判断的逻辑,提供&& 与运算  ||或运算

A条件 && B条件:当A条件成立,并且执行B条件

A条件||B条件:当A条件不成立的时候,才会执行B条件。

 中括号的条件测试[ ]

单中括号与双中括号区别

shell中if判断 

举报

相关推荐

0 条评论