shell的一些知识点

{}()都是把里面的命令作为一个整体去运行

{name=arrow;echo $name} :会改变当前name的值

(name=arrow;echo $name) :不会改变当前name的值,它会单独生成一个子进程去执行,不会影响到当前name

使用export name命令可以使name变量变成全局变量

使用变量是加上花括号如: ${10}  (当接收的参数是第十个的时候就需要用花括号了,如果不用就好默认为$1加字符串0)

echo $* 打印所有参数(不可被迭代)

echo $@ 打印所有参数(可被迭代)

$? 查看前一条命令的执行结果 0为成功 不为0则为失败

在shell中做算术运算时不能直接$1+$2,这样他会把2个变量变成用+号连在一起的字符串,需要用let aa = $1+$2 或者 aa=$[$1+$2]

useradd arrow ; echo 199218 |passwd -stdin arrow chown R arrow /opt/*   #创建用户并授予权限

原文地址:https://www.cnblogs.com/arrow-kejin/p/10165469.html