Shell命令
标签(空格分隔): shell
基于MacOS操作,来源与直播课摘录
命令行
0.查看一个已有的文本内容
cat test00.sh
1.访问百度页面
w3m www.baidu.com
需要先安装w3m
brew install w3m
2.编辑文件头
vim test01.sh
内容开头
#!bin/bash
或者
#!bin/sh
以上是两种不同的解释器
3.输出一个变量
vim test01.sh
#!bin/bash
A=10
echo $A
以上A=10之间不能有空格
4.执行命令
/bin/bash test01.sh
或者
sh test01.sh
或者
./test01.sh
但是上面这个没有权限,需要授权
chmod 777 test01.sh
然后再执行
5.获取上一个命令执行的结果是什么
echo $?
返回0代表成功
6.当前磁盘的使用量
df -h
7.输出不存在的变量
#!bin/bash
echo "-------------"
age=25
echo age= $age
echo pwd= $pwd
pwd不存在,如果是PWD,则展示对应的路径
8.入参输出
#!bin/bash
echo "当前Shell脚本的名称是 $0"
echo "参数一是 $1"
echo "参数二是 $2"
################
echo "是否执行成功 $?"
echo "外界传递了多少参数 $*"
echo "外界传递参数的数量 $#"
输入执行
sh test03.sh 1 2
//输出结果
当前Shell脚本的名称是 test03.sh
参数一是 1
参数二是 2
是否执行成功 0
外界传递了多少参数 1 2
外界传递参数的数量 2
9.打印for循环
seq 1 20
10.脚本执行for循环
#!bin/bash
for i in `seq 1 20`
do
echo "循环遍历的数字是:$i"
done
上面的是斜引号``,键盘左上角,数字键1的左边,英文输出模式
11.表达式计算
expr 1000 + 100
上面的空格一定要有,不管是字符还是符号
12.脚本累加计算
#!bin/bash
# 累加功能
a=0
for((f=0;f<=100;f++))
do
a=`expr $f + $a`
done
上面要注意,斜引号里面一定要有空格,脚本里面没有空格
13.寻找文件
find . -name "*.txt"
寻找当前目录下所有是.txt尾缀的文件
14.压缩文件
tar czf all.taz *
把当前目录下所有文件都压缩到名为all.taz的压缩包
15.脚本打包
#!bin/bash
# 查找当前目录下,所有的.txt文件,进行打包操作
for i in `find ./ -name "*.txt"`
do
tar -czf txtAll.tgz $i
done
16.while循环
#!bin/bash
# while循环
i=0
while((i<100))
do
i=`expr $i + 1`
echo "遍历的值为 $i"
done
17.拿到当前路径
#!bin/bash
echo "当前路径 $PWD"
echo "当前路径 `pwd`
18.读取信息
#!bin/bash
# 读我再控制台 输入的信息,循环一直等待输入
while read lineVarAA
do
echo ----$lineVarAA
done
19.if语句
#!bin/bash
NUM1=100
NUM2=200
if(($NUM1>$NUm2));
then
echo "OK....."
# elif 是[else-if的意思]
else
echo "Not"
fi
20.脚本创建文件夹
#!bin/bash
# 判断目录是否存在,如果不存在,就创建目录
if [ ! -d `pwd`/kevindir ];then
mkdir -p `pwd`/kevindir
else
echo "kevindir目录已经存在...."
fi
21.简单计算
result=$((100+34))
echo result
上面存在兼容性,推荐下面的
result=`expr 100 + 24`
echo $result
命令行直接输出
22.if脚本
#!bin/bash
var1="abcdefg"
var2="zzzzzz"
# 判断是否相等
if [ $var1 == var2 ]
then
echo "var1等于var2"
else
else "不等于"
fi
# 字符串是否为空
if [ $var1 ]
then
echo "字符串不为空,值是:$var1"
else
echo "自渡船空的...."
fi
23.文件重定向
cat 0< file.txt
0指代屏幕,上面的意思就是将file.txt中的内容重定向到当前屏幕
24.函数
#!/bin/bash
function test01(){
echo "my method run ..."
}
# 调用上面的函数
test01
function test02(){
var1="kevin"
var2="Kevin2"
echo $var1
echo $var2
echo "test02 method run ..."
}
test02
# 如何给函数传参
function test03(){
echo "test03 method run 参数是 `expr $1`"
echo $1
}
test03 999
25.解压
tar xvf ffmpeg-4.2.1.tar.bz2
x表示解压,v表示输出,f表示文件