1、如何显示HOME这个环境变量?
[root@localhost ~]# echo $HOME
/root
2、如何得知目前的所有变量与环境变量的设定值?
set显示目前所有的变量(包括环境变量),env显示目前所有环境变量的值
[root@localhost ~]# set
[root@localhost ~]# env 或者export
3、我是否可以设定一个变量名称为3myhome?
不能;变量名不能以数字开头
4、如何取消变量与命令别名的内容?
unset 变量名
unalias 别名
5、如何设定一个变量名称为name内容为It is my name?
[root@localhost ~]# name="it is my name"
[root@localhost ~]# set | grep name
name='it is my name'
6、试说明“” ‘’ `` 这三个符号在变量定义中的用途?
""表示双引号仍然可以保有变量的内容。
''表示强引号,也就是所见即所得,单引号仅能是一般字符,不会有特殊符号
``表示允许将执行特定命令的输出结果赋值给变量(命令替换),反单引号内包含的字母串必须是能够执行的命令,执行后会用输出结果替换该命令字串
[root@localhost ~]# name="shell"
[root@localhost ~]# echo $name
shell
[root@localhost ~]# myname="$name is good"
[root@localhost ~]# echo $myname
shell is good
[root@localhost ~]# myname='$name is good'
[root@localhost ~]# echo $myname
$name is good
7、Shell脚本中,$0 $1 $# $* $? 分别代表了什么意思。
$0表示脚本程序的名字
$1表示传递给脚本的参数,$1是第一个参数
$#表示脚本传递参数的个数
$*表示脚本参数列表
$?表示上一条命令的执行结果,0表示正常执行,非0表示不正常执行
[root@localhost day1]# cat 4.sh
#!/bin/bash
#*************************************************************
#Author: pyy
#Date: 2020-06-11
#FileName: 4.sh
#*************************************************************
echo "脚本名称:$0"
echo "脚本参数个数:$#"
echo "脚本参数:$*"
echo "脚本第一个参数:$1"
echo "脚本第二个参数:$2"
[root@localhost day1]# bash 4.sh 1 2
脚本名称:4.sh
脚本参数个数:2
脚本参数:1 2
脚本第一个参数:1
脚本第二个参数:2
8、脚本:通过位置变量创建linux系统账户及密码。
[root@localhost day1]# cat 5.sh
#!/bin/bash
#*************************************************************
#Author: pyy
#Date: 2020-06-11
#FileName: 5.sh
#*************************************************************
'id $1' &>>/dev/null || `useradd -r $1`
`mkdir /home/$1`
`cp /etc/skel/.bash* /home/$1`
#`cp -r /etc/skel/.mozilla/ /home/$1`
`echo $2 | passwd --stdin $1` &>>/dev/null
[root@localhost day1]# sh 5.sh p 123
[root@localhost day1]# ll /home/p -a
总用量 12
drwxr-xr-x 2 root root 62 6月 11 20:33 .
drwxr-xr-x. 4 root root 29 6月 11 20:33 ..
-rw-r--r-- 1 root root 18 6月 11 20:33 .bash_logout
-rw-r--r-- 1 root root 193 6月 11 20:33 .bash_profile
-rw-r--r-- 1 root root 231 6月 11 20:33 .bashrc
[root@localhost day1]# su - p
[p@localhost ~]$ exit
登出
[root@localhost day1]# cat /etc/shadow
p:$6$SNQdEojN$a.ij.FNQJyX8uTzd5U4nich2QjeA6SoQtLzmJdhW7YagcLC.LugQ2T3bY407SPgnn46gKwYK7k3ODh4x.CIV4/:18424::::::
9、使用read 命令写一个脚本修改主机名。
[root@localhost day1]# cat 6.sh
#!/bin/bash
#*************************************************************
#Author: pyy
#Date: 2020-06-11
#FileName: 6.sh
#*************************************************************
read -p "请输入修改的主机名" hostname
`hostnamectl set-hostname $hostname`
[root@localhost day1]# sh 6.sh
请输入修改的主机名xixi
Last login: Thu Jun 11 19:26:48 2020 from 192.168.131.201
[root@xixi ~]#