Linux系统操作
创建一个shell文件
vim 文件名称.sh
直接点 字母 o 可以直接编辑文件
退出文件操作
先按 esc
接着输入 :wq 保存退出
运行shell脚本命令
./文件名.sh
如果提示
Permission denied
那就
sh ./文件名.sh
或者赋予权限
chmod 777 文件名.sh
就可以直接执行了
下面说一说 shell基本语法
当我们 创建一个新文件后第一步一定要在第一行代码上写上这一句固定代码
#!/bin/bash
这是必须的。
shell语法
打印 echo 注意 echo 一定要空格后 再输入打印的字符 比如
echo "aaaaaaa"
echo 10000
定义变量很随意 比如
a=100
b="qwe"
c=200
$PWD 表示当前路径,$0 表示当前程序名称 $n表示程序的输入参数 n=1 第一个,n=2 第二个,$*所有输入的参数,$# 表示输入参数的个数,$?表示上一个命令执行的状态 成功是0
例子
#!/bin/bash
echo $0
echo $1
echo $2
echo $*
echo $#
运行时候在后面加上参数
sh ./文件名.sh 参数1 参数2...
如果要引用你的变量写法 $变量 比如:
#!/bin/bash
a=10
b=20
echo $a
echo $b
shell里面的循环写法
#!/bin/bash
for i in `seq 1 10`
do
echo "number $i"
done
或者这样写
#!/bin/bash
j=0
for((i=0;i<=20;i++))
do
j=`expr $i + $j`
done
echo $j
这里面的 expr 表示的是加的意思
比如 echo expr 12 + 13
一定要记住 `` 这个是反引号 是在键盘左上 数字 1旁边那个 还有就是 12 + 13 加号跟数字一定要有空格 否则报错!
while 循环写法
#!/bin/bash
i=0
while((i<20))
do
echo "number $i"
i=`expr $i + 1`
done
或者这样写
#!/bin/bash
i=0
while [[ $i -lt 20]]
do
echo " number $i"
i=`expr &i + 1`
done
利用shell 把文件达成 zip
tar czf all.tgz *
表示把当前目录所有文件全部打包成叫 all的压缩包 all是文件名称
查找 文件是 .sh结尾语法
find . -name "*.sh"
如果要把指定的文件打包例子
#!/bin/bash
for i in `find /root -name "*.sh"`
do
tar -czf all2.tgz $i
done
shell 读取文件内容写法
#!/bin/bash
while read line
do
echo $line
done</root/文件名.txt
说一下 done 后面跟的 </root/文件名.txt, <是固定写法,/root/文件名.txt 表示文件所在的路径
前提你得有这个文件要不运行会报错,好了去试试把!
最后一下 在 linux里面直接查看文件内容命令是
cat 文件名.txt