造纸公司网站建设,点广告挣钱网站有哪些,手机端关键词排名优化软件,私人网站建设步骤一、Bash环境变量bash中变量有四种种类型#xff1a;环境变量、本地变量#xff08;局部变量#xff09;、位置变量、特殊变量。1.环境变量环境变量作用范围最广#xff0c;所有子bash进程都能够访问环境变量中的值#xff0c;定义环境变量的方法是使用export关键字。举例… 一、Bash环境变量bash中变量有四种种类型环境变量、本地变量局部变量、位置变量、特殊变量。1.环境变量环境变量作用范围最广所有子bash进程都能够访问环境变量中的值定义环境变量的方法是使用export关键字。举例kdyzmkdyzm:~$ export Aabc
kdyzmkdyzm:~$ echo $A
abc
kdyzmkdyzm:~$ 2.本地变量本地变量作用范围是当前bash子bash访问不到父bash中定义的变量定义本地变量的方法是 VARNAMEvalue。举例kdyzmkdyzm:~$ Bcde
kdyzmkdyzm:~$ echo $B
cde
kdyzmkdyzm:~$局部变量是本地变量的一种特殊形式作用域更小它只能在方法中使用使用关键字local定义。 3.位置变量位置变量的作用类似于正则表达式中的后项引用正则表达式中使用\n来引用这里使用$n来引用。 4.特殊变量特殊变量叶叫做“系统变量”这种类别的变量是bash自己定义的变量比如$?就是一种特殊变量系统变量它用来保存上一条命令的执行结果0代表执行成功其它1-255代表执行失败kdyzmkdyzm:~$ ls /tmp
config-err-YXMEYj
fcitx-socket-:0orbit-kdyzm
sni-qt_sogou-qimpanel_1597-Mn3jk9
sogou-qimpanel:0.pid
sogou-qimpanel-cell
sogou-qimpanelkdyzm
systemd-private-251274e9dff14256aadaac748704e759-colord.service-Q7u1po
systemd-private-251274e9dff14256aadaac748704e759-rtkit-daemon.service-I81zdW
systemd-private-251274e9dff14256aadaac748704e759-systemd-timesyncd.service-SrkrjY
unity_support_test.0
kdyzmkdyzm:~$ echo $?0kdyzmkdyzm:~$ ls /templs: cannot access /temp: No such file or directory
kdyzmkdyzm:~$ echo $?2kdyzmkdyzm:~$二、如何实现变量引用使用${VARNAME}实现变量引用其中大多数情况下{}能够直接省略不能省略的情况kdyzmkdyzm:~$ ANIMALpig
kdyzmkdyzm:~$ echo there are some ${ANIMAL}s
there are some pigs
kdyzmkdyzm:~$以上echo命令之后必须使用而不能使用这是因为是弱引用变量能够被解析是强引用变量不能被解析。kdyzmkdyzm:~$ echo there are some ${ANIMAL}s
there are some ${ANIMAL}s
kdyzmkdyzm:~$三、杂项 1.如果脚本是在命令行中执行的那么该脚本能够直接访问当前shell定义的变量但是如果是非命令行运行的脚本就必须手动配置环境变量了。 2./dev/null是一个数据黑洞可以将不需要显示的数据都重定向到这里丢弃掉。 3.使用unset命令能够解除变量绑定释放内存空间。 4.如何查看当前shell的环境变量 使用printenv、env、export三个命令都能够查看当前bash中的环境变量。 5.如何运行一个脚本 指定脚本的路径回车即可。需要注意的是如果脚本文件在当前路径下也需要指定./作为当前路径的标志否则直接使用文件名会提示找不到命令原因就是命令行默认认为你输入的是命令所以回到PATH路径下找结果没找到就会报错。kdyzmkdyzm:~$ command.sh
command.sh: command not found
kdyzmkdyzm:~$ ./command.sh
Hello,World! 注意创建脚本文件之后一定要加上“可执行”权限因为默认创建的文本文件是不可执行的。chmod ax ./command.sh 如果不想给脚本文件加上可执行权限但是还想要执行该脚本的话直接使用bash FILE 即可执行。四、如何写一个脚本 在写一个脚本之前必须指定“魔数”指定魔数的作用就是告诉系统到哪里去找“解析器”解析脚本内容在使用bash的情况下指定魔数的方法是#! /bin/bash 接下来就是一些命令的堆砌实际上脚本编程就是那么简单。五、条件测试 1.条件测试类型包括整数测试、字符测试、文件测试 2.条件测试的三种命令[ expression ]
[[ expression ]] #}[[是bash中的关键字而[不是
test expression 3.整数比较的操作符-eq #测试两个数是否相等
-ne #测试两个书是否不想等
-lt #小于比较测试
-gt #大于比较测试
-le #小于等于测试
-ge #大于等于测试 4.命令之间的逻辑关系 #与关系
|| #或关系六、条件判断 1.条件判断的结构如下if 判断条件;thenstatement1statement2
elif statement3statement4
elsestatement5statement6
fi 2.判断命令执行结果返回值还是判断命令执行状态返回值 命令执行结果返回值命令执行的返回值 命令执行状态返回值只有两个结果一个是0表示执行成功非0表示执行失败使用$?可以查看改值。 举例该处的判断条件判断的是命令执行状态返回值#! /bin/bash
if id user2 /dev/null;thenecho user1存在
elseecho user1不存在
fi七、练习 1.给出一个用户名判断该用户是管理员还是普通用户#! /bin/bash
NAMEkdyzm
USERIDid -u $NAME
if [ $USERID -eq 0 ] ;thenecho Admin User
elseecho Common User
fi 2.编写一个脚本判断是否有用户的默认shell为bash如果有则显示有多少个这类用户否则就显示没有这类用户。#! /bin/bash
USERSgrep bash$ /etc/passwd | wc -l
if [ $USERS -eq 0 ] ;thenecho 没有默认shell为bash的用户存在
elseecho 使用bash为默认shell的用户数量为$USERS
fi 转载于:https://blog.51cto.com/kdyzm/1740334