shell脚本学习与总结

2019-09-23 09:50:26王振洲

# 注意,函数一定要放在调用该函数的前面sum()
{
a=$x
b=$y
total=`expr $a + $b`
echo "total = $total"
}echo "please enter two number:"
read x
read y
sum $x,$y
shell  start:

shell有bsh,bash,cash等

1,在linux中管理员用户登录进去时,提示符为:#,一般用户登录进去时的提示符为:$
登录进去后,退出或要切换用户时,用:exit命令,正常退出。
2,查看当前系统中的shell版本,在/etc/shell目录中查看。
3,在系统中查看不同用户默认的shell版本,/etc/passwd  查看当前用户的shell,echo shell
4,直接用命令改变某个用户的shell环境:chsh 系统用户名,根据提示输入新shell路经,如:/bin/bash
5,查看当前用户的环境变量和ID号,set | grep user,set | grep uid  或,查看/etc/passwd文件
6,查看某个命令在哪个位置  which 命令  如:which ifconfig   当某些一般用户中有些命令提示无法找到
或执行时,一般是环境变量中没有把该命令的路经加进来。用export命令设置环境变量
7,查看以前使用过的命令 history   history -c清除之前使用过的命令
8,;在shell中用来区分一个命令的结束。一行中可以多个命令
9,调试shell脚本用. 脚本文件名  或 bash 脚本文件名
10,文件权限分三类:
a,文件属主:创建该文件的用户
b,同组用户:拥有该文件的用户组中的任何用户
c,其它用户:即不属于拥有该文件的用户组的某一用户
如:-rwxr-xr-x 1 root root  217 08-10 19:51 test1.sh
第一个字符表示文件的类型,是文件夹,还是普通文件 例中-表示普通文件
后面的9个字符分三段,第一段是文件属主的权限
第二段是同组用户的权限,第三段是其它用户的权限
赋权限:g是代表同组用户,o是代表其它用户
chmod go+wx ./test.sh  给同组用户和其它用户赋写和执行的权限 
chmod u+wr ./test.sh  给自己赋读和写权限
chmod o+wrx ./test.sh   给其它用户赋读,写和执行的权限
去权限与赋权限同理,只是把“+”换成“-”就可以了
chmod go-rw ./b.c  把同组用户和其它用户读和写的权限去除

11,一般权限也可以用数字表示:4:读,2:写,1:执行,
如果用数字给某一个文件赋权限,要写3段数字,如:764,则表示
用户自己是读写执行,同组用户是读写,其它用户是读的权限。
12,给文件和文件夹赋权限时,两者互不干扰,除非在给文件夹赋权限时带-R参数
那么,该文件夹下的所有内容就赋予了和文件夹一样的权限了,小心使用-R
13,查看文件夹权限时,用:ll -d /tmp/sh    -d是查看文件夹的,不然只会
列出该文件夹的内容了。

14,改变文件的所属用户,chown oracle /tmp/sh/api.sh