shell编程基础(一)

一、常用命令

1、echo:输出变量or常量值到终端
2、ls:列出指定目录中的所有文件(不写指定目录,则是当前目录)

-l:显示详细信息

-F:区分文件与目录

3、pwd:显示当前目录
4、rm:删除文件

-d:删除空目录

-r:递归删除目录中的所有内容

5、对文件的操作
(1)touch:创建文件
(2)cat/more/less:查看文件内容
(3)cp:复制文件
(4)mv:移动文件
6、ll:查看文件并显示权限

二、bash shell的学习

开头第一句:

#!/bin/bash

将该文件变为bash的脚本文件

1、bash简述
(1)什么是bash?

bash是Bourne Again Shell的简称,是从Unix系统中的sh发展而来,是用户与Linux系统内核交互的工具,用户通过bash操作内核完成系统的使用与管理。

(2)shell的种类

/bin/bash:默认shell

/bin/ksh:兼容shell

/bin/tcsh:整合了C的shell

指令:ls -la *sh

可以列出系统中所有的shell

2、bash shell的变量

变量分为:自定义变量与环境变量

(1)查看变量

set:列出当前环境下所有变量

env:查看所有的环境变量

(2)设置变量:

变量名=变量值

(3)查看变量:

用echo查看变量值,变量名之前加上引用符$

单引号:会将单引号内的内容原样输出,变量直接输出变量名而不是变量值

双引号:会将双引号内的内容原样输出,变量直接输变量值

(4)删除变量

unset 变量名

三、变量的运算

(一)字符串操作

1、连接字符串

给出如下例子

str=hello

str1=world

str=$str$str1
或者
str=$str' '$str1
2、expr命令
(1)查看长度

expr length

示例:

str=hello

str1=world

expr length "$str"
5

将这个值赋给变量:
charcount=`expr length "$str"`

echo charcount
5
(2)查找某个字符或字符串

expr index

示例:

str=hello
expr index "$str" 'l'
3

这里返回第一个字符的索引
并且和C++不一样,字符串的索引从1开始

expr index "$str" 'hl'
1
返回第一个匹配到的字符的值
(3)截断字符串

expr substr

示例:

str="hello world"
expr substr "$str" 1 5
hello
(4)字符串匹配

expr match

示例:

str="hello world"
expr substr "$str" '.*'

(二)数学运算

1、数值运算

两种写法:

示例1:

num1=7
num2=13
num3=10

expr $num1 \< $num2
1

注:这里需要在小于号前加上转义符号

示例2:

num1=7
num2=13
num3=10

result=$[$num1 < 20]
echo result
1

使用中括号则不用转义符号

result=$[$num1 == 20]
echo result
0

result=$[$num1 / 20]
echo result
0

shell脚本运算默认都是整数

四、函数

(一)定义

有两种定义方式:

function name{
    commands
}
或者
name (){
    commands
}

示例1:

第一种:
function func1{
    echo "hello world!"
}
func1

第二种:
func2(){
    echo "ni hao shi jie"
}
func2
echo "$?" 
0
注:
echo "$?" 用于输出函数的返回值,成功则为0

(二)返回值

有返回值的函数:

func2(){
    echo "ni hao shi jie"
    return 20
}
func2
echo "$?" 
20

将返回值赋给变量(使用反引号)

func2(){
    echo "ni hao shi jie"
    return 20
}

value = `func2`
echo "$value"
20ss

(三)参数值

1、手动输入参数

示例:

#! /binn/bash

add(){
    if [$# -eq 2];then
        result=$[ $1 + $2 ]
        echo $result
    else
        echo "please input 2 params"
        return 1
    fi
}

value = add $1 $2
if [ $? -eq 0];then
    echo $value
else
    echo "Err: $value"
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值