设为首页 收藏本站
查看: 895|回复: 0

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

[复制链接]

尚未签到

发表于 2018-8-27 09:38:32 | 显示全部楼层 |阅读模式
  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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-557126-1-1.html 上篇帖子: pure-ftpd 写一个自动安装脚本shell 下篇帖子: 第13章 学习 shell脚本之前的基础知识
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表