要实现的功能
|
C语言编程
|
Linux
Shell脚本编程
|
程序/脚本的参数传递
|
int main(int argc,
char** argv)
{
if
(argv != 4) {
printf(
“Usage: %s arg1 arg2 arg3”, argv[0] );
return
1;
}
printf(“arg1:%s\n”,argv[1]);
printf(“arg2:%s\n”,argv[2]);
printf(“arg3:%s\n”,argv[3]);
return
0;
}
|
#!/bin/sh
if
[ $# -lt 3 ]; then
echo
"Usage: `basename $0` arg1 arg2 arg3" >&2
exit
1
fi
echo
"arg1: $1"
echo
"arg2: $2"
echo
"arg3: $3"
exit
0
|
int main(int argc,
char** argv)
{
int i;
for
(i=1; i<=argc;i++) {
printf(“arg:%s\n”,argv[i]);
}
return
0;
}
|
#!/bin/sh
while
[ $# -ne 0 ]
do
echo
"arg: $1"
shift
done
|
逻辑/数值运算
|
if
(d == 0)
|
if
[ "$D" -eq "0" ] ; then
|
if
(d != 0)
|
if
[ "$D" -ne "0" ] ; then
|
if
(d > 0)
|
if
[ "$D" -gt "0" ] ; then
|
if
(d < 0)
|
if
[ "$D" -lt "0" ] ; then
|
if
(d <= 0)
|
if
[ "$D" -le "0" ] ; then
|
if
(d >= 0)
|
if
[ "$D" -ge "0" ] ; then
|
字符串比较
|
if
(strcmp(str,”abc”)==0) {
}
|
if
[ "$STR" != "abc" ]; then
fi
|
输入和输出
|
scanf(“%d”,&D);
|
read
D
|
printf(
“%d”, D);
|
echo
–n $D
|
printf(
“%d”,D);
|
echo
$D
|
printf( “Press
any to continue...”);
char ch=getchar();
printf(
“\nyou pressed: %c\n”, ch );
|
#!/bin/sh
getchar()
{
SAVEDTTY=`stty -g`
stty cbreak
dd if=/dev/tty bs=1
count=1 2> /dev/null
stty -cbreak
stty $SAVEDTTY
}
echo -n
"Press any key to continue..."
CH=`getchar`
echo
""
echo
"you pressed: $CH"
|
|
read
D <&3
|
程序/脚本的控制流程
|
if
(isOK) {
//1
}
else if (isOK2) {
//2
}
else {
//3
}
|
if
[ isOK ]; then
#1
elif [
isOK2 ]; then
#2
else
#3
fi
|
switch
(d)
{
case
1:
printf(“you
select 1\n”);
break;
case
2:
case
3:
printf(“you
select 2 or 3\n”);
break;
default:
printf(“error\n”);
break;
};
|
case
$D in
1)
echo "you select 1"
;;
2|3)
echo "you select 2 or 3"
;;
*)
echo "error"
;;
esac
|
for
(int loop=1; loop<=5;loop++) {
printf(
“%d”, loop);
}
|
for
loop in 1 2 3 4 5
do
echo
$loop
done
|
do
{
sleep(5);
}
while( !isRoot );
|
IS_ROOT=`who
| grep root`
until
[ "$IS_ROOT" ]
do
sleep
5
done
|
counter=0;
while(
counter < 5 ) {
printf(
“%d\n”, counter);
counter++;
}
|
COUNTER=0
while
[ $COUNTER -lt 5 ]
do
echo
$COUNTER
COUNTER=`expr $COUNTER
+ 1`
done
|
while
(1) {
}
|
while
:
do
done
|
break;
|
break或break
n,n表示跳出n级循环
|
continue;
|
continue
|
函数与过程的定义
|
void
hello()
{
printf(
“hello\n” );
}
…
//函数调用
hello();
|
hello()
{
Echo
“hello”
} 或者
function
hello()
{
Echo
“hello”
}
…
#函数调用
hello
|
函数的参数和返回值
|
int ret
= doIt();
if
(ret == 0) {
printf(
“OK\n” );
}
|
doIt
if [
“$?” –eq 0 ] ; then
echo
“OK”
fi
或者
RET
= doIt
if
[ “$RET” –eq “0” ] ; then
echo
“OK”
fi
|
int sum(int a,int b)
{
return a+b;
}
int s
= sum(1,2);
printf(“the
sum is: %d\n”, s);
|
sum()
{
echo
-n "`expr $1 + $2`"
}
S=`sum
1 2`
echo
"the sum is: $S"
|
bool isOK()
{ return false; }
if
(isOK) {
printf(
“YES\n” );
}
else {
printf(
“NO\n” );
}
|
isOK()
{
return
1;
}
if isOK ;
then
echo
"YES"
else
echo
"NO"
fi
|
相关推荐
### Linux Shell语法与C语言语法对比详解 #### 引言 在IT行业中,尤其是在系统管理和自动化运维领域,熟悉Linux Shell编程对于提升工作效率至关重要。然而,由于Shell脚本编写的机会相对较少,很多程序员容易忘记...
01.shell概述 02.shell中特殊字符 04.shell中参数:$0、$?...14.Linux/shell中一些命令说明 15.Linux三剑客 --- grep 16.Linux三剑客 --- sed 17.Linux二剑客 --- awk 18,shell脚本静态检查 --- shellcheck 19.参考资源
《Linux Shell编程艺术》可能会详细讲述Shell的语法特性,包括变量、条件语句、循环结构、函数定义、输入/输出重定向等。这本书可能会深入探讨如何利用Shell的高级特性,如正则表达式、管道、进程控制和信号处理,来...
2. **Shell语法**:讲解变量、条件表达式、流程控制(如if、for、while循环)、函数等基本语法元素,帮助读者构建脚本的基础框架。 3. **文件与目录操作**:如何创建、删除、移动、复制文件和目录,以及文件查找、...
本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,必须以#!开头,指定解释器的...
此资源是本人对linux shell脚本的语法总结,均实际验证通过。
本书理论结合实践,全面、系统地介绍了Linux Shell(Bash)脚本编程的语法、命令、技巧等内容。本书偏重于实践教学,在讲解理论知识时,通过一些典型实例让读者了解理论知识在实际环境中的应用,并对易混淆和较难...
linux下的shell编程,本人从事linux下的工作多年,总结了一些经验,希望能够帮助新童鞋快速学习linux,快速掌握shell脚本,提高工作效率
Shell脚本的编写需要遵循特定的语法规范,例如使用while、case、if等控制结构。 2. 用户管理功能:文档中提到了用户添加(add)和删除(delete)的功能。可以推断,脚本中可能有部分代码专门用于添加新用户到系统或...
Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...
- set命令:启用或禁用各种Shell选项,如-n选项可以在不执行的情况下检查语法。 - bash -x:以调试模式运行脚本,显示每一步的执行过程。 七、正则表达式和模式匹配 Shell脚本支持正则表达式用于字符串匹配和替换,...
在Ubuntu上,所有关于Shell编程的操作都与标准的Linux Shell语法一致。 在压缩包中的文件“sh (1).c”很可能是一个包含了C语言源代码的例子,该代码可能是用来演示如何从Shell脚本调用C程序,或者是用C语言实现的...
学习Shell脚本,首先需要熟悉基本的语法元素,如变量、条件语句、循环、函数和重定向等。例如,变量用于存储数据,可以通过"$"符号来访问;条件语句(如if-else结构)用于根据特定条件执行不同的命令;循环(如for和...
理解这些命令的语法和用法是掌握Shell的基础。 接下来,我们会深入到Shell脚本编程。编写Shell脚本允许我们将一系列命令组合在一起,形成可重复使用的程序。脚本通常包括变量定义、条件语句(if-else)、循环结构...
1. Shell基础:学习Shell的基本语法和结构,包括变量定义、基本命令的使用、输入输出重定向、管道(pipe)的使用等。这些基础知识是编写Shell脚本不可或缺的。 2. 脚本编写:掌握如何编写Shell脚本,通常以#!/bin/...
通过学习《Linux Shell脚本攻略》(第2版),读者不仅可以掌握Shell脚本的基本语法,还能了解到更多高级特性和实战技巧,从而在Linux世界中游刃有余。这本书将引导初学者逐步成为一名熟练的Linux系统管理员或开发者...
本攻略将深入探讨Linux Shell脚本的核心概念、语法结构以及实战应用。 1. **Shell基础** - **什么是Shell?** Shell是Linux操作系统中的一个命令解释器,它为用户提供了一个与操作系统内核交互的接口。 - **常见的...
在Linux Shell脚本编程中,here document是一种特殊的语法结构,用于实现多行文本的输出。here document的语法格式为:,delimiter其中delimiter是结束符号。 在脚本中,here document可以用于输出多行文本,例如,...
Shell脚本是一种解释型语言,它的语法简洁且强大。通过编写Shell脚本,你可以实现自动化任务,例如批量处理文件、定时执行任务、响应系统事件等。以下是Shell编程的一些关键概念: 1. **变量**:用于存储数据,可以...