Linux 入门基础二

it2024-11-07  7

一、shell      1、先说下 vim :Vim是从 vi 发展出来的一个文本编辑器。vim分为3种模式:命令模式,输入模式 和底线命令模式。         a、命令模式: 用户刚刚启动vi /vim ,便进入了命令模式。此状态下敲击键盘的动作会被vim 识别为命令,而非输入字符。常见得是:              i: 切换到输入模式,可以输入字符              x: 删除当前光标所在处的字符              :切换到 底线命令模式,可以在最后一行输入命令(已经进入 输入模式的 可以通过esc 键 回到命令模式)

                     b、输入模式:在命令模式下输入i 进入输入模式。输入模式下的常用按键:             ·字符按键以及shift组合,输入字符             ·enter 回车键换行             ·back space 退格键,删除光标前的一个字符             ·del 删除键,删除光标后的一个字符             ·方向键  在文本中移动光标             ·home /end  移动光标移动到 首行 /行尾             ·insert 切换光标为输入/替换模式,光标将变成竖线 或下换线             ·esc 退出输入模式,切换到命令模式

                     c、底线命令模式               在命令模式下 按 : (英文冒号)便进入了底线命令模式。该模式下可以输入单个或多个字符的命令,              基本命令为 q  退出程序   和 w 保存文件               按esc 可随时退出底线命令模式

                         2、打开文本编辑器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),          扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。              输入一些代码 ,第一行一般是这样的 :         #!/bin/bash         echo "Hello World !"         "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。         echo命令用于向窗口输出文本。         注意:$ chmod +x test.sh  给文件添加执行权限         设置所有用户可读取文件  chmod ugo+r wstest.sh

    3、一些注意的点 :

        1) 变量  $name   和  ${name} 区别 :在使用上没有任何区别,但加{} 是为了区分变量名的界限 。

        2) shell 传递参数:  

            ./test.sh aa 玉枕纱橱

            

             

            ·接收参数的写法:

               $0 代表执行的文件名

               $1 代表传入的第一个参数

               $# 代表传入参数的个数

               $* 代表以一个单字符串显示所有向脚本传递的参数。                     如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

       3)shell 数组

           ./test.sh

          

         

         ·数组写法:

              读取数组元素值的一般格式是:${array_name[index]}

              读取数组中所有元素:${array_name[@]}

              和字符串一样,加#号代表长度

       4)shell 基本运算符:

           shell 和其他编程语言一样,支持多种运算符。原生的bash 不支持简单的数学运算,但可以通过awk 或 expr 来实现。expr 常用。expr 是一款表达式计算工具,是用它能完成表达式的求值操作。

         · 加法   :    ./test.sh

           

           

         ·注意:

               表达式和运算符之间要有空格,例如 1+1 是不对的,必须写成 1 + 1。

               完整的表达式要被 ` ` 包含,注意使用的是 反引号` 而不是单引号 ',在 Esc 键下边。

               乘号(*)前边必须加反斜杠(\)才能实现乘法运算;

            

      5)shell 的 echo命令 :用于字符串的输出,格式为 echo string              可以使用echo 完成复杂的输出结果:            ·显示转义字符: echo "\" It is a test \" "                                           结果是 :"It is a test"            ·显示换行 :echo -e "OK! \n"     # -e 是开启转义

              

         

     6)test 命令 :用于检查某个条件是否成立,可以从 数值,文件,字符串3个方面检查。           语法为  test  1 -eq 1           代码中的 [] 执行基本的算数运算,注意等号两边不能有空格。

         ./test.sh

        

        

       test  的 数值测试:

         

         ·test 的字符串测试:

        ./test.sh

        

        

      字符串测试:

        =                 等于则为真         !=                不相等则为真         -z 字符串    字符串的长度为零则为真         -n 字符串    字符串的长度不为零则为真

      ·test 的文件测试:

        -e 文件名   如果文件存在则为真         -r 文件名    如果文件存在且可读则为真         -w 文件名   如果文件存在且可写则为真         -x 文件名    如果文件存在且可执行则为真         -s 文件名    如果文件存在且至少有一个字符则为真         -d 文件名    如果文件存在且为目录则为真         -f 文件名     如果文件存在且为普通文件则为真         -c 文件名    如果文件存在且为字符型特殊文件则为真         -b 文件名    如果文件存在且为块特殊文件则为真    

      此外,Shell 还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为: ! 最高, -a 次之, -o 最低。

       测试: ./test.sh

     

      

      

       注意:文件需要带后缀。

最新回复(0)