有关Shell的一点点了解

来源:互联网 发布:编程cs 编辑:程序博客网 时间:2024/06/05 20:23

此篇仅仅简单了解shell是怎么个意思。。。。。。。。深入理解之路漫漫长


一、什么是Shell


shell是一个作为用户与Linux系统之间接口的程序,允许用户向操作系统输入需要执行的命令。
标准shell是GNU工具集中的bash,其开源、可移植。

二、管道和重定向


1、重定向

    • 输出

      • >操作符。把标准输出重定向到一个文件。 ls -l > lsoutput.txt
      • >>操作符。将输出内容附加到一个文件。ps >> lsoutput.txt
      • 标准错误输出重定向。文件描述符>即:2>

    • 输入

      • <操作符


2、管道 


使用|操作符来连接管道。
例子:
ps > psout.txt
sort psout.txt > pssort.txt
通过|操作符合并:
ps sort > psout.txt

二、shell脚本


1、创建脚本

注释以#符号开始。
#!/bin/sh是特殊注释,#!告知系统紧跟其后的参数是用来执行文本文件的程序。

2、语法
  • 变量
    • 所有变量被当作字符串储存
    • 区分大小写
    • 变量名前加$来访问它的内容
    • 引号与变量关系:
      • \字符转义。echo \$var    --->$var
      • " "变量替换值 echo "$var"   --->var的值
      • ' '不变。echo ‘$var’    --->$var
  • 条件
    • test或者[命令
      • 字符串比较
      • 算术比较
      • 文件条件测试
  • 控制结构
    • if语句
if condition
then
   statements
else
   statements
fi

  • elfi语句
if condition
then
   statements
elif condition
then
   statements
else
   statements
fi

  • for语句
for variable in values
do
    statements
done
  • while语句
while statementdo
  statements
done
  • until语句
until condition
do
   statements
done

  • case语句
case variable in 
    pattern[ | pattern] ...) statements;;
    pattern[ | pattern] ...) statements;;
    ...
esac

3、命令

  • break命令
  • continue命令
  • .命令
  • echo命令
  • eval命令
shell内置命令,允许对参数求值。

  • exit n命令
  • export命令
将作为它参数的变量导入到子shell中,并使之在子shell中有效。

  • expr命令

将参数作为一个表达式来求值。

  • printf命令
  • return命令
  • set命令
设置参数变量

  • shift命令
将所有参数变量左移一个,$2变为$1。扫描处理脚本中经常用到

  • trap命令
用于指定在接收到信号后将要采取的行动。挂起、中断、退出、中止、报警、终止。

  • unset命令
从环境中删除变量或者函数。不能删除shell本身定义的只读变量。

  • find命令
  • grep命令

0 0
原创粉丝点击