最新消息:vps推荐

shell脚本快速入门

linux Terry 459浏览 0评论

第一个shell脚本

  • 编辑vim test.sh
#!/bin/bash
echo 'hello world'

脚本第一行指定解释器,常见的有bash、sh、csh、tcsh、ash等。

  • 执行
chmod +x test.sh
./test.sh

./test.sh这样写是告诉系统执行路径。当然也可以sh test.sh这样执行。

shell变量

定义变量

test_var='test'

注意:=号两边没有空格。

变量赋值

test_var='value2'
#或者
test_var=`command`
#或者
test_var=$(command)

第一种是直接赋值。后两种是通过执行命令,命令结果赋值给变量;通过``或者$()将命令包起来,command是你要执行的命令。

使用变量

echo $test_var
#或者
echo ${test_var}

使用一个定义过的变量只需要变量名前加个$。花括号是可以省略的,当不容易区分变量名时建议加上花括号。

注释

以符号#开头的为注释,编译器不会执行。

字符串

shell中的字符串可以用单引号,也可以使用双引号,也可以不适用引号。

单引号使用的限制:

  • 单引号中的任何字符都会原样输出,单引号字符串中的变量是无效的。
  • 单引号字符串中不能出现单引号(对单引号使用转义符后也不行)

双引号

echo "hello, $test_var"
  • 双引号字符串中可以有变量
  • 双引号中可以出现转义字符

获取字符串长度

test_var2='value2'
#获取字符串长度
echo ${#test_var2}

截取字符串${string: start :length}或者${string: 0-start :length},前者从前向后截取,下标从0开始;后者从后向前数,0-2就是倒数第二个字符开始,向后截取对应长度的字符。

test_var3='hello, Terry'
#输出ll
echo ${test_var3:2:2}
#输出ry
echo ${test_var3:0-2:2}

流程控制

  • if elif else
if condition1
then
  command1
elif condition2
then
  command2
else
  commandN
fi
  • for while
for var in item1 item2 ... itemN
do
  command1
  command2
  ...
  commandN
done
  • for
for (( EXP1; EXP2; EXP3 ))
do
  command1
  command2
  command3
done
  • 无限循环
while :
do
  command
done

 

转载请注明:Terry's blog » shell脚本快速入门

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址