Shell脚本命令总结

  1. shell变量
  2. 使用大写字母表示常量: 习惯上,常量的变量名通常使在shell编程中,变量是用于存储数据值得名称

    定义变量时,变量名不加美元符号($,只有PHP语言中变量需要)

    Yur_name=”runoob”

    变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

    只包含字母、数字和下划线: 变量名可以包含字母(大小写敏感)、数字和下划线 _,不能包含其他特殊字符。

    不能以数字开头: 变量名不能以数字开头,但可以包含数字。

    避免使用 Shell 关键字: 不要使用Shell的关键字(例如 if、then、else、fi、for、while 等)作为变量名,以免引起混淆。

    用大写字母,例如 PI=3.14。

    避免使用特殊符号: 尽量避免在变量名中使用特殊符号,因为它们可能与 Shell 的语法产生冲突。

    避免使用空格: 变量名中不应该包含空格,因为空格通常用于分隔命令和参数

  3. 运行shell脚本的方法有两种:
  4. 作为可执行程序运行

    作为解释器参数运行

  5. shell脚本编写,创建一个文件test.sh,进入存放文件的目录
  6. [root@zabbix-s-76 pud]# cat test.sh 
    #!/bin/bash
    #
    #********************************************************************
    #Author:                guomc
    #QQ:                    2934339867
    #Date:                  2024-03-04 15:47:53
    #FileName:             test.sh
    #URL:                  	https://xxx.blog
    #Description:          For personal learning Bash
    #Copyright (C):        2024 All rights reserved
    #********************************************************************
    
    echo "Hello world"

  7. test.sh输出结果:
  8. [root@zabbix-s-76 pud]# bash test.sh

    Hello world

  9. Shell脚本中的注释是提前设置好的在~/.vimrc里面进行配置。
  10. set nu
    set cul
    set tabstop=2
    set expandtab
    set shiftwidth=2
    set ai
    set softtabstop=2
    map <F2> :set paste <CR> o
    map <F3> :set expandtab <CR> :%retab! <CR>  :wq! <CR>
    map <F4> :set binary <CR> :set noendofline <CR>  :wq! <CR>
    autocmd BufNewFile *.sh exec ":call SetTitle()"
    function SetTitle()
            if expand("%:e") == 'sh'
            call setline(1,"#!/bin/bash")
            call setline(2,"#")
            call setline(3,"#********************************************************************")
            call setline(4,"#Author:                guomc")
            call setline(5,"#QQ:                    2934339867")
            call setline(6,"#Date:                  ".strftime("%Y-%m-%d %H:%M:%S"))
            call setline(7,"#FileName:             ".expand("%"))
            call setline(8,"#URL:                  	https://xxx.blog")
            call setline(9,"#Description:          For personal learning Bash")
            call setline(10,"#Copyright (C):        ".strftime("%Y")." All rights reserved")
            call setline(11,"#********************************************************************")
            call setline(12,"")
            endif
    endfunc
    autocmd BufNewFile * normal G

<<EOF
 注释内容
 注释的内容
 想要注释的代码                                                                       
 EOF
  1. 当作为可执行程序运行时,要赋予脚本执行权限
  2. Chmod +X test.sh

    ./test.sh    #在当前目录下执行程序

  3. shell注释

  4. (1)单行注释:和python注释相同,以#号开头作为单行注释

    #这是一个注释
    
    #autohor:ohuohuoo
    
    #date:`date`

  5. 多行注释:如果在开发过程中,遇到大段的代码需要注释起来,
  6. 过一会又要取消,可以将其定义为一个花括号的注释函数

<<EOF
 注释内容
 注释的内容
 想要注释的代码                                                                       
 EOF
#EOF可以更换为其他符号
  <<E
  zhushi
  zhushi
  zhushi
  E

  1. shell编写的基本步骤
  2. 建立shell文件  
  3. 赋予shell文件可执行程序权限(使用chmod命令修改权限)

    执行shell文件(直接运行赋予权限后的二进制文件)

  4. Shell变量,命名变量
  5. shell变量都是直接定义的,变量的值都解释为一串字符

  6. Cout=1         #定义变量
    Name=”ohuo”   #定义变量
    echo  $cout    #取变量的值
    echo  $name   #取变量的值

    shell中,英文符号$ 用于取变量值

  7. <<EOF
    注释内容
    注释的内容
    想要注释的代码
    EOF
    cout=1
    echo $cout

    Shell编程中需要注意的点:其中的变量的命名和其他语言一样,要遵循其中的规则

  8. 命名只能使用英文字母,数字和下划线,首个字母不能以数字开头
  9. 中间不能有空格,可以使用下划线
  10. 不能使用标点符号
  11. 不能使用bash里的关键字,(关键字是bash中使用的命令如:if  fi 循环)
  12. 有效的命令:

  13. NAME   LIb_kask    _var  var2
  14. 无效的命令:

  15. ?Var=123   user*NAME=ohjs
  16. 如果在变量中使用系统命令需要加命令符号“`”ESc 键下

  17. DAJE1=`date`
    DAJE2=(date)

    更换当前登录的shell脚本,把bash更换为zsh

  18. chsh  -s /bin/zsh  # 然后输入密码1,进行重启后重新登录

  19. Export这个命令可以展示shell的环境变量
  20. [root@zabbix-s-76 pud]# export
    declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/0/bus"
    declare -x DEBUGINFOD_URLS="https://debuginfod.centos.org/ "
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    declare -x HOSTNAME="zabbix-s-76"
    declare -x JAVA_HOME="/root/jdk1.8.0_401"
    declare -x LANG="zh_CN.UTF-8"
    declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
    declare -x LOGNAME="root"

设置shell环境变量

Echo $PATH 这个命令可以查看到变量的内容

其中的roc是自己创建的目录想要把一些路径添加到一个目录中的命令是:

export PATH=$PHTH: /home/roc/operation_tools

环境变量操作失误的话会使基础cat 、ls、yum ....等命令失效无法运行比如下面就是一个错误的示例:

$ export PATH=/home/to/operation_tools

缺少$PATH就会清空原来的$PATH的内容,其中没有了系统指定的路径Linux就无法找到命令,

正确的配置环境变量如下:

$ export PATH=$PATH: /home/to/operation_tools

Read命令是用来倾听标准的输入或文件输入,并把信息存入到变量中,

Read的主要职责是倾听键盘脚本如下:

#/bin/bash

echo -n “please input your name”

read name

echo “welcome !!! $name”

exit 0

Shell脚本中使用read可以直接使用自带的显示提示与功能,剩略程序中的echo语句:

#!/bin/bash

read -p “pelease input your name:” name

echo “welome  !!! $name”

exit 0

上面脚本中read 的-p 选项就是用来显示提示语的。

定义变量
变量名=变量值
如:num=10
引用变量
$变量名
unset :清除变量值

从键盘获取read值:

#!/bin/bash
#
#********************************************************************
#Author:                gu
#QQ:                    
#Date:                  2024-03-11 19:33:29
#FileName:             read.sh
#URL:                  	https://xxx.blog
#Description:          For personal learning Bash
#Copyright (C):        2024 All rights reserved
#********************************************************************

num=10
echo "num=$num"
echo "请输入num的值"
read num
echo "num=$num"

运行结果:

[root@zabbix-s-76 ~]# bash read.sh 
num=10
请输入num的值
100
num=100

在输出的一行上加上-p,可以显示添加提示:

num=10
echo "num=$num"
read  -p "请输入num的值:" num                       
echo "num=$num"
~                          

运行结果:

[root@zabbix-s-76 ~]# bash read.sh 
num=10
请输入num的值:100
num=100

续!!!
 

  • 25
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值