一、常用命令
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