Shell编程总结及感悟
2018-01-12 11:59
246 查看
shell编程总结:
有三条简单的命令组成的shell程序
$cat ex1
date
pwd
cd
带有控制结构的shell程序:
$cat ex2
if test $#=0
then ls
else
for i
do
ls -l $i | grep '^d'
done
fi
脚本执行:
bash 脚本名
或者 ./脚本名
增加执行权限:
chmod a+x 脚本名
显示历史命令:
history[option][arg...]
名称补全:
当你记不清完整的目录名或者文件名你可以将文件开头的名字打出来然后按下Tab键系统会自动补全相应的文件名或目录名
顺序执行:
每条命令或者管道线可以单独占一行
或者以分号分开然后系统执行时会按照顺序执行
数组:
$city[0] = Beijing
$city[1] = shanghai
输入/输出命令:
read命令 echo命令
$read x y z
today is monday
$echo $x $y $z
echo命令:
\a 响铃警报
\b 退一个字符位置
\c 他出现在参数最后的位置
\e 转移字符
\f 换页
\n 显示换行
\r 回车
\t 水平制表符
\v 垂直制表符
\\ 印出反斜线本身
\m m是一个1位、2位或者3位八进制数,他表示一个ascll码字符,m必须以0开头
set命令:
1、显示迄今为止所定义的全部变量,包括局部变量和公用变量
2、设定位置参数
3、改变执行shell脚本时的选项设定,可使用户改变shell的功能
if语句:
一般格式为:
if 测试条件
then 命令1
else 命令2
fi
逻辑运算符:
-a——逻辑与(AND)
-o——逻辑或(OR)
()括号括住的部分表示一个整体
case语句:
case语句一般格式为:
case 字符串 in
模式字符串1) 命令
...
命令;;
模式字符串2) 命令
...
命令;;
esac
while语句:
例子:
while [ $1 ]
do
if [ -f $1 ]
then echo "display:$1"
cat $1
else echo "$1 is not a file name"
fi
shift
done
当然还包括break命令和continue命令同c语言中的相同就是结束命令
exit命令退出shell脚本
select语句:
格式:
select identifier[in word ...]
do
命令表
done
函数:
[function]函数名()
{
命令表
}
function可以是默认的
kill命令结束进程
bg和fg命令
bg将前台作业切换成后台作业
fg命令就是将后台切换成前台
shell内置命令
readonly就是将某变量更改为只读不可修改其值
wait报告终止状态
感悟:
shell编程的思想自我感觉是和c语言差不多只是编程的命令和格式不同而已,和c语言有较大的差异性,还是记得命令相对于较多shell编程还是要有思路,只要有思路我感觉编程就不会有太大的问题。
有三条简单的命令组成的shell程序
$cat ex1
date
pwd
cd
带有控制结构的shell程序:
$cat ex2
if test $#=0
then ls
else
for i
do
ls -l $i | grep '^d'
done
fi
脚本执行:
bash 脚本名
或者 ./脚本名
增加执行权限:
chmod a+x 脚本名
显示历史命令:
history[option][arg...]
名称补全:
当你记不清完整的目录名或者文件名你可以将文件开头的名字打出来然后按下Tab键系统会自动补全相应的文件名或目录名
顺序执行:
每条命令或者管道线可以单独占一行
或者以分号分开然后系统执行时会按照顺序执行
数组:
$city[0] = Beijing
$city[1] = shanghai
输入/输出命令:
read命令 echo命令
$read x y z
today is monday
$echo $x $y $z
echo命令:
\a 响铃警报
\b 退一个字符位置
\c 他出现在参数最后的位置
\e 转移字符
\f 换页
\n 显示换行
\r 回车
\t 水平制表符
\v 垂直制表符
\\ 印出反斜线本身
\m m是一个1位、2位或者3位八进制数,他表示一个ascll码字符,m必须以0开头
set命令:
1、显示迄今为止所定义的全部变量,包括局部变量和公用变量
2、设定位置参数
3、改变执行shell脚本时的选项设定,可使用户改变shell的功能
if语句:
一般格式为:
if 测试条件
then 命令1
else 命令2
fi
逻辑运算符:
-a——逻辑与(AND)
-o——逻辑或(OR)
()括号括住的部分表示一个整体
case语句:
case语句一般格式为:
case 字符串 in
模式字符串1) 命令
...
命令;;
模式字符串2) 命令
...
命令;;
esac
while语句:
例子:
while [ $1 ]
do
if [ -f $1 ]
then echo "display:$1"
cat $1
else echo "$1 is not a file name"
fi
shift
done
当然还包括break命令和continue命令同c语言中的相同就是结束命令
exit命令退出shell脚本
select语句:
格式:
select identifier[in word ...]
do
命令表
done
函数:
[function]函数名()
{
命令表
}
function可以是默认的
kill命令结束进程
bg和fg命令
bg将前台作业切换成后台作业
fg命令就是将后台切换成前台
shell内置命令
readonly就是将某变量更改为只读不可修改其值
wait报告终止状态
感悟:
shell编程的思想自我感觉是和c语言差不多只是编程的命令和格式不同而已,和c语言有较大的差异性,还是记得命令相对于较多shell编程还是要有思路,只要有思路我感觉编程就不会有太大的问题。
相关文章推荐
- shell编程总结及感悟
- shell编程总结及感悟
- shell编程总结及感悟
- Linux-3 shell编程总结及感悟
- shell编程总结及感悟
- 关于图像语义分割的总结和感悟
- 关于图像语义分割的总结和感悟
- shell编程之if判断的总结
- shell编程总结
- 笔记三 第2章总结及感悟
- Shell编程之Shell变量学习总结
- Shell编程入门总结(二)
- shell编程实战总结
- Shell编程学习(3)----脚本参数和控制语句的总结
- 学习中的感悟和总结
- 下篇;一名老程序员十年生涯黯然总结,感悟很深
- 感悟从java到.NET开发快速入门总结
- [SuperM]Shell编程课堂笔记+PPT总结
- Shell编程的一些用法总结
- 2013,2014的总结感悟