从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。今天学习了一些最基本的shell脚本的语言编程实例。
1.判断输入的关键字是否为三个,并创建三个以其为名字的目录,并在各个目录下创建.txt文件,并输入hello语段。
if判断语句:
#! /bin/bash
echo " "
if [ $# -ne 3 ];then
echo " "
exit 1
elif [ $# -eq 3];then
echo " "
fi(结束判断)
for循环语句:
for dir in $1 $2 $3
do
mkdir ${dir}
cd ${dir}
touch ${dir}.txt
echo "hello"> ${dir}.txt
cd ..
done
2.$# 命令行参数个数
$*所以命令行参数个数
$0 本身
$1第一个参数
tree . 展开当前目录的分支
3.逻辑运算符&& ||
[ -r "$x" ] && echo "can read"
[ -f "$x" ] || echo "this is not file"
-r或者-d判断是否为目录,-f判断是否为文件
4.case选择语句
case $key in
[ A-Z ] ) echo " "
[ 0-9 ] ) echo " "
esac
5.linux下的命令的组合使用
ctrl z 将程序切换到后台运行
fg 切换到前台运行
ps -elf | grep xxx 查找包含xxx的进程
kill -9 `ps -elf | grep test | awk '{print $4}'` 杀死该命令所得的结果中的第四列内容
6.sizeof是关键字,不是函数,求字节数
strlen求长度的函数,遇到\0停止
7.const修饰只读变量
volatile防止编译时被优化(硬件编程时多出现)
例如 const int cc=3
cc是只读变量,只能说明,不能通过cc这个变量来修改其对应的内存空间的值,但是可以通过地址来修改。
8.常量
1.#define pi 3.14
2.char *ptr="hello"
9.-128 减1为何等于127?
在C语言中规定-128的char型原码补码都为10000000,-1补码为11111111,计算时转为补码运算,得到101111111,又因为char型只有8位,所以最后结果只保留01111111,是正数,转化为十进制就是127了。