关于linux base使用方法
bash 和C语言都是面向过程的编程语言,但是bash仅仅是一个解释性的语言,bash的变量只能是文本类型,bash本质上是一个shell,是一个命令解释器程序。bash脚本是资深linux用户的必备技能。1.变量$var=hello----赋值符号=左右不能留空格$var='hello world'---单引号或者双引号包裹文本$var=`da...
·
bash 和C语言都是面向过程的编程语言,但是bash仅仅是一个解释性的语言,bash的变量只能是文本类型,bash本质上是一个shell,是一个命令解释器程序。
bash脚本是资深linux用户的必备技能。
1.变量
$var=hello ----赋值符号=左右不能留空格
$var='hello world' ---单引号或者双引号包裹文本
$var=`date` ---date命令的输出文本直接赋予一个变量
$another=$var ---一个变量赋值给另外一个变量
$read name ----bash等待用户输入文本,作为变量name的赋值
$echo $var --引用变量
$echo ${var}world ---引用变量
2.数学运算
$echo $((2+(5*2))) -------$(())包裹数学运算
3.返回代码
按照linux 惯例,程序正常运行完毕并返回时,将返回整数0
一个程序运行完毕后,
$echo $? ----------通过$?获取返回码
$rm demo.file && echo "rm succeed" ----------前面一个命令返回运行成功的代码0,后面一个命令才执行
$rm demo.file || echo "rm fail" ------前面返回0,后面不执行;前面返回1,后面才执行。
4.base 脚本
#!/bin/bash ----------说明该脚本使用的shell
# ----注释是说明性文字
echo hello
echo world
#!/bin/bash
echo $0
echo $1
echo $2
$./demo.bash hello world ---$0代表命令部分, $1代表参数hello, $2代表参数world
#!/bin/bash
echo "you computer information:" > $1
lscpu >>$1
uname>>$1
free -h >>$1
$./demo.bash output.file
#!/bin/bash
function my_info (){ -------脚本函数
lscpu >>$1
uname>>$1
free -h >>$1
}
#!/bin/bash
source my_info.bash -----------跨脚本调用
my_info output.file
6.逻辑判断
$test 3 -gt 2 ;echo $? ----test命令用于判断
-----数值判断
-gt
-lt
-eq
-ne
-ge
-le
-----文本判断
=
!=
> --一个文本在另外一个文本之前
< ---一个文本在另外一个文本之后
----文件判断
-e ---文件是否存在
-f ---是否是普通文件
-d ---是否是目录
-L --是否是软链接
-r ----是否可读
-w ---是否可写
-x ---是否可执行
7.选择结构
#!/bin/bash
var=whoami
if [$var = "root"]
then
echo "you are root"
fi
#!/bin/bash
filename=$1
if [-e $filename]
then
echo $filename "exists"
else
echo $filename "not exists"
fi
echo "the end"
$./demo.bash a.out
8.循环结构
#!/bin/bash
for var in `ls log*`
do
rm $var
done
for user in vamei anna yutian
do
echo $user
done
total=0
for number in `seq 1 1 100`
do
total=$(( $total +$number) )
done
echo $total
点击阅读全文
更多推荐
所有评论(0)