首页 > 系统服务 > 详细

Linux学习笔记七----------Shell脚本

时间:2020-03-18 10:39:18      阅读:58      评论:0      收藏:0      [点我收藏+]

shell,linux中的编程语言,完成自动化任务,Bash是linux多个发行版本的默认shell

安装一个新的shell,sudo yum install ksh

shell脚本依赖于某一个shell,切换sh,chsh

创建脚本文件

vim test.sh

指定选择的shell

#!/bin/bash

 

chmod +x test.sh

运行shell脚本

./test.sh

 

调试脚本

bash -x test.sh

 

切换sh,chsh

 

shell中的变量

#!/bin/bash

message=‘hello world‘

message=$‘it\‘s me‘

echo $message

echo "the message is $message"

message=`pwd`

echo message

echo,显示信息,在终端中显示信息,-e参数,解析转义字符,双引号不会忽略$符号,反引号能输出命令

 

read,请求输入

-p,显示提示信息

#!/bin/bash

read -p ‘please enter your name‘ name

echo "hello $name"

-n,限制字符数目

-s,隐藏输入内容

 

bash数字运算,let命令

#!/bin/bash

let "a=5"

let "b=2"

let "c=a+b"

echo "c=$c"

 

env命令查看所有环境变量,

SHELL变量;PATH,环境变量路径;HOME,家目录;PWD,目前所在目录;...

#!/bin/bash

echo "your default shell is $SHELL"

 

参数变量

#!/bin/bash

echo "you have executed $0, there are $# parameters"

echo "the first parameter is $1"

shift命令,移动参数,常被用在循环中,使得参数一个接一个处理

 

数组

#!/bin/bash

array=(‘value0‘ ‘value1‘ ‘value2‘)

echo ${array[2]}

 

条件

#!/bin/bash

name1=‘a’

name2=‘b‘

if [ $name1 = $name2 ]

then

    echo ‘you have the same name‘

(else、elif)

fi

 

测试字符串

$string1=$string2,两个字符串是否相等

$string1!=$string2,是否不等

-z $string,字符串是否为空

-n $string 字符串是否不为空

 

测试数字

$num1 eq $num2,数字是否相等;-ne,是否不相等;-gt,是否大于;

 

测试文件

-e $file,是否存在这个文件;-d,文件是否一个目录;-f,是否是一个文件;-L,文件是否一个链接文件;-r,文件是否可读

 

循环语句

while循环

while [ 条件测试 ]

do

  something

done

 

util循环、for循环

for animal in ‘dog‘ ‘cat‘ ‘pig‘

do

    echo "animal being analyzed:$animal"

done

seq命令

for i in `seq 1 10`

do

   echo $i

done

 

shell函数

函数的定义

函数名(){

}

function 函数名{

}

 

#!/bin/bash

print_something(){

  echo "hello, i am a function"

}

print_something

print_something

 

local关键字,局部关键字

command关键字,重载命令

Linux学习笔记七----------Shell脚本

原文:https://www.cnblogs.com/xxp17457741/p/12505809.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!