顶嵌学员学习笔记:Shell脚本编程总结

本文介绍了Shell脚本的基础知识,包括脚本的编写、执行及权限设置。详细解释了Shell脚本中的特殊字符及其用途,并通过实例展示了如何使用Shell脚本进行文件数量统计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell是一种有特殊功能的程序,它是用户和内核程序的一个接口。使用Shell可以编写脚本,脚本是一种按行解释的程序。

脚本的编写一般都是从#!/bin/sh开始的,编写完一个脚本后,想要要执行它,首先,要让脚本获得执行的权限,添加权限使用chmod命令,其格式为chmod [u/g/o/a] [+/-/=] [权限]filename

例如:

脚本内容

#/bin/sh

mkdir ~/test

echo "mkdir successfuuly"

为其添加权限

chmod 777 test.sh

./test.sh

执行结果为:

mkdir successfuuly

第一个7为当前用户对该脚本可读可写可执行,第二个7为同组用户对该脚本可读可写可执行,第三个7为其他用户对该脚本可读可写可执行,

Shell命令中有一些具有特殊意义的字符,使用这些字符可以简化一些变量的输入。

$?最后一次执行的命令的返回码

$$shell进程自己的PID

$!Shell进程最近启动的后台进程的PID

$#命令行参数的个数(不包括脚本文件的名字在内)

$0脚本文件本身的名字

$1 $2第一个,第二个命令行参数

"$*"$1,$2,$3,$4将所有命令行参数组织成一个整体,作为一个单词

"$@"$1"$2""$3"将多个命令行参数看做是多个“单词”

使用脚本也可以调用C代码,例如:

C代码:

int main(int argc,char **argv)

{

 int i;

 for(i=0;i<argc;i++)

 printf("%d:[%s]/n",i,argv[i]);

}

gcc arg.c -o arg编译这段C代码Shell脚本如下:

#!/bin/sh

echo $$

echo $#

echo "usage:$0 arg1 agr2"

./arg "$@"

./arg "$*"

获得执行权限:shmod 7 t3.sh

./t3.sh copy files to $HOME

执行结果:

2515

0

usage:./t3.sh arg1 arg2

0:[./arg]

1:[copy]

2:[files]

3:[to]

4:[/root]

0:[./arg]

1:[copy files to /root]

选择结构

if结构,case结构

循环结构

while结构

until结构

for结构

for结构实例代码

#!/bin/sh

counter=0

read d                   #读入文件目录字符串

b=$d                    #另存文件目录

d="$d/*"                 #给目录尾部加上/*,这样$d就为当前目录文件

for files in $d             #for循环统计文件数

do

counter=`expr $counter + 1`

done

echo "there are $counter files in $b"

给与执行权限chmod 7 s.sh

./s.sh             #运行脚本

/mywork          #输入文件目录

执行结果为:

there are 6 files in /mywork

用这个脚本可以方便统计输入的文件目录中的文件个数。

 

在使用Shell脚本编写程序的时候可以看到,Shell命令的语法和C语言的语法有很大的相似之处,从这里我体会到了老师说的只要能熟练的掌握C语言,想要换到其他的语言上是十分容易的。

顶嵌学员马斌09.10.17

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值