cy_88 发表于 2018-8-27 09:38:32

shell 编程入门,一些简单符合命令

  shell 编程入门
  1,,shell 特性
  linux预设保存1000条输入过的命令,存于 .bash_history 。
  (1,) !! 表示执行上一条命令
  #pwd
  /root
  #!!
  pwd
  /root
  (2) !n ,n表示数字,表示执行历史第n条指令,例如!1002
  #history |grep 1002
  1002 pwd
  #!1002
  pwd
  /root
  (3)!字符串,表示执行命令历史中最近一次以 pw 开头的命令
  #!pw
  pwd
  /root
  (4)alias 自定义命令的别名
  #alias zh='pwd' (单引号)unalias 解除
  (5) * 号,匹配零个或多个字符,?匹配一个字符。
  (6) | 管道符,把前面的命令运行结果丢给后面的命令。
  # 注释本行
  \ 脱意符 ls \#1.txt 改变#号原有含义
  $ 变量前缀,表示在使用这个变量,!$表示上条命令最后一个参数
  ;常用于两条命令中间,表示两条命令写一起
  ~ 代表用户家目录
  & 把一个命令丢到后台,&& 把2个命令丢一起
  []中的内容表示是可选参数,可选一个或多个或不选;
  {}中的内容表示只可选其中一个参数。
  (7) 作业控制。
  ctril+z 暂停命令。 ctrl+c 终止命令。
  #fg 恢复命令
  #bg 使命令在后台运行
  (6) > , >> ,< ,2> , 2>>
  2,shell 变量
  #env 列出系统预设的全部环境变量 。 #set 显示的更全,还可以显示用户自定义的变量
  HOME 当前用户主目录
  HISTSIZE 历史记录数
  LOGNAME 当前用户的登录名
  HOSTNAME 主机名称
  SHELL 当前用户shell类型
  LANG 语言环境变量
  MAIL 当前用户的邮件存放目录
  PWD 当前目录
  要使系统内所有用户都能使用自定义变量,需要在/etc/profile 文件最后行加入 export myname=Aming,然后运行 #source /etc/profile
  #myname=Aming
  #echo "export myname=Aming">> /etc/profile
  #source /etc/profile
  #bash
  #echo $myname
  Aming
  #exit
  exit
  #su -user1
  #echo $myname
  Aming
  ........
  #echo "export myname=Aming">>.bashrc
  #source .bashrc
  这样只有当前用户可以执行自定义命令
  3,设置自定义变量的规则(a=b,a变量名,b变量内容)
  变量名只能由英文、数字、下划线组成,不能以数字开头
  当变量内容带有特殊字符时,需要加上单引号,如果变量内容本身带有单引号,则需要加上双引号。
  #myname='Aming Li'   #myname="aming's"
  如果变量内容中需要用到其他命令运行结果则可以使用反引号。
  #myname=`pwd`
  #echo $myname
  /root
  变量内容可以累加,需要加双引号
  #a=1
  #c="$a" 12
  #echo $c
  112
  #bash 进入一个子shell环境,在主shell中设定的变量,子shell无法查看,需要export指令。
  #abc=123
  #echo $abc
  123
  #export abc
  #bash
  #echo abc
  123
  如果export后面不加任何变量,则会声明所有的变量。
  4,系统和用户的环境变量配置文件
  /etc/profile :这个文件预设几个重要变量,如 PATH USER LOGNAME MAIL INPUTRC HOSTNAME umask 等
  /etc/bashrc :这个文件主要预设umask 以及 PSI
  这两个为系统级别的配置文件,以下为主目录下的隐藏文件
  .bash_profile ,定义了个人化路径与环境变量的文件名称,每个用户都可以使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅执行一次。
  .bashec 包含shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取
  .bash_history 记录命令历史
  .bash_logout 当退出shell时,会执行该文件

页: [1]
查看完整版本: shell 编程入门,一些简单符合命令