shell使用

1.以vi等工具编写脚本文件,以~.sh的格式保存,使用chmod +x ./~.sh赋予权限,./~.sh跑脚本

2.bash shell 中每个变量的值都以字符串的形式保存,如不含空格,可以直接赋值,要是有就要使用引号。单引号时,将引号里面的值直接输出,不解析。双引号时,会解析引号里面的值,可能是参数,引用的值什么的。

3.引用变量时,可以加花括号来标记边界,如 skill="Java" echo "I am good at ${skill}Script"

4.将命令的结果赋值给变量,可以使用反引号或$(),然后使用echo输出

[mozhiyan@localhost ~]$ cd code
[mozhiyan@localhost code]$ log=$(cat log.txt)
[mozhiyan@localhost code]$ echo $log
[2017-09-10 06:53:22] 严长生正在编写Shell教程
[mozhiyan@localhost code]$ log=`cat log.txt`
[mozhiyan@localhost code]$ echo $log
[2017-09-10 06:53:22] 严长生正在编写Shell教程
[mozhiyan@localhost code]$ 

5.设置只读变量,readonly bianliang

6.删除变量,unset 变量

7.变量类型:三种:局部变量,环境变量,shell变量

8.特殊变量:Shell $0,$#,$*,$@,$?,$$

9.shell命令替换:指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

语法:使用反引号`command`

10.算数运算符:expr是一个工具,表达式与运算符之间要有空格,完整的表达式要被``包含,注意乘号的使用

11.关系运算符 :仅对数字进行操作

12.布尔运算符

13.字符串运算

14.文件测试运算符,好像只能用在脚本里

15.注释:#,每行都要,如果太多行,可以考虑加花括号,包装为一个函数。

16.字符串区分单引号和双引号

17.拼接字符串

18.数组,name[0:n-1]空格隔开

19.echo命令

20.printf命令

21.if then fi          if then else fi           if then elif then else fi

22.test命令

 23.for循环

 

 显示主目录下文件不成功

24.while循环

输出1 2 3 4 5

25.until语句

26.  跳出循环,在if或者for语句内,可以使用break跳出循环,break n 表示跳出第几层循环

       continue与break使用差不多,但是仅跳出当前循环

27. shell 函数,函数名前面的function可以不写

function function_name () {

    list of commands

    [ return value ]

}

函数返回值,可以显式增加return语句;如果不加,会将最后一条命令运行结果作为返回值。
Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。如果 return 其他数据,比如一个字符串,往往会得到错误提示:“numeric argument required”。
如果一定要让函数返回字符串,那么可以先定义一个变量,用来接收函数的计算结果,脚本在需要的时候访问这个变量来获得函数返回值。

调用函数:只需要给出函数名,不需要括号

删除函数:$unset .f funcyion_name

28.带参数的函数

结果:1 2 10 34 73 12      1 2 3 4 5 6 7 8 9 34 73

28.shell输入输出重定向

 深入讲解重定向:

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:

标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。

标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

默认情况下,command > file 将 stdout 重定向到 file,command < file 将stdin 重定向到 file。

29.文件包含:

test1.sh    test2.sh

在test2.sh中写 . ./test1.sh,或者source ./test1.sh    然后就可以在test2 中引用test1中的函数,参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值