shell基础(一)

1、第一个脚本
编写脚本:cat test.sh

#!/bin/bash
echo "Hello World !"

执行脚本:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

2、使用 .vimrc 文件,能够快速的生成开头的注释信息
cat .vimrc

set ignorecase
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
 if expand("%:e") == 'sh'
 call setline(1,"#!/bin/bash")
 call setline(2,"#********************************************************************")
 call setline(3,"#Author: ABCD")
 call setline(4,"#Date: ".strftime("%Y-%m-%d"))
 call setline(5,"#FileName: ".expand("%")) 
 call setline(6,"#Description: First script")
 call setline(7,"#********************************************************************")
 call setline(8,"")
endif
endfunc
autocmd BufNewFile * normal G

3、变量
命名规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

变量类型:

  • 局部变量
    局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  • 环境变量
    所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  • shell变量
    shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

变量定义方式:
直接赋值

name=abcd

传参 (传递参数)

cat bianliang.sh

#!/bin/bash
hobby=$1
echo $hobby

sh  bianliang.sh  abcd 
abcd

3、交互式设置变量,使用read命令

cat kh.sh

#!/bin/bash
read -p  "请输入你的卡号:"  kh
echo
echo "你的银行卡号:"  $kh

 sh  kh.sh 
请输入你的银行卡号:123456

你的银行卡号: 123456

删除变量

unset variable_name

字符串
单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
双引号里可以有变量,可以出现转义字符;

your_name='runoob'
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str
输出结果为:
Hello, I know you are "runoob"! 

4、数组:
定义数组

stu=(001 002 003)

打印数组

echo ${stu[@]}

001 002 003
显示数组长度

echo ${#stu}

3
增:数组添加

stu[3]=004
echo ${stu[@]}

001 002 003 004
改:数组修改

stu[2]=000
echo ${stu[@]}

001 002 000 004
删:数组删除

unset stu[2]
echo ${#stu[@]}

3

echo ${stu[@]}

001 002 004
将命令的结果赋值给数组

COM=(`ls`)
echo ${COM[@]}

你可能感兴趣的:(文章)