shell

Shell需要依赖其他程序才可以完成任务。Shell脚本语言与编译行语言的差异在于许多中大型的程序都由C ,C++,JAVA,ADa,Pascal,Fortran 来写,然后由源代码转换为目标代码,然后直接通过计算机来执行编译语言虽然高效,但是运行于底层,处理都是字节,整数,浮点数或者其他的机器层的对象。(ADa,Pascal,Fortran语言还从未接触过,需要补充学习了解一下)

而列如:C++面对将一个目录中的文件复制到另外一个目录中,就很难进行。Shell执行方式为由解释器(interpreter)(解释器本身为编译行程序)

Shell的优点:

  1. 简单性:可以简洁的表达复杂操作
  2. 可移植性:可已不需要修改就在不同的系统上执行
  3. 开发容易:可以在短时间内写一个功能强大的脚本

关于解释-----#!

Shell------>unix(要求内核启动一个新的进程,内核知道为编译型程序做,但是shell是非编译型程序)------>unix发现不是编译型时会启动一个新的/bin/sh副本来执行程序。

因为现在每个unix中不只有一个shell,需要一种方式告诉unix来执行那个shell,方法为:脚本文件中的第一行来设置。在第一行用#!这两个字符。

初级注意地方:

  1. #!这一行的长度为63-1024,但最好不要超过64个字符
  2. 脚本的迁移取决于是否有完整的路径
  3. 别再选项(option)之后放置任何空白
  4. 需要知道解释器的完整路径
  5. 一些旧的系统不具备#!

Shell的基本元素命令:

1.内建命令2.shell函数3.外部命令

执行流程

Shell的变量:shell的变量可以为空值,开头是一个字母或者下划线符号

Shell的输出:echo(有版本限制)printf延用了C++的方式,但是pringf不会像echo提供换行如下(printf  “hellow ,word\n”)

基本的i/o重定向

  1. 标准输入2.标准输出3.标准错误输出
  2. 标准输入输出的修改
    1. < 改变标准输入
    2. > 改变标准输出
    3. << 附加到文件
    4. | 以管道建立

举例:tr -d ‘\r’ <dos-file.txt | sort>UNIX-file.txt  << xxxx.txt

补充:tr 转换字符,大小写转换。

Shell中特殊的文件:/dev/null+/del/tty

Shell 打开执行跟踪命令

执行时:Sh -x shellName

脚本中添加方式:1.set -x   2. set+x

查找与替换

  1. Grep(固定字符串)  列:who | grep  -F austen

  1. 正则表达式:是一种表示方式,让你查找匹配特定准则文本

就先这么多吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值