`
yinwufeng
  • 浏览: 286954 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux Shell语法速查表

 
阅读更多

Linux Shell语法速查表



虽然学过Linux Shell编程,但由于编写Shell脚本的机会实在是比较少(通常在项目初期搭建开发环境时编写得比较多一些),所以一些语法久而久之就会忘了,一个简单的语法去翻书效率实在是慢,所以就个人整理了一个表格,由于我用的编程语言是C/C++,所以在编程的时候往往脑海里面首先浮现的是用C语言怎么去编写它,所以我干脆拿C语言的语法来和Shell编程的语法作个对比表,这样查起来就方便了,哈:

 

 

 (注:不知道为什么从WORD中粘帖的表格在这里显示会不完整,在编辑的时候又是正常的,闷)

 

 

 

要实现的功能

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;

breakbreak nn表示跳出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语言语法来作对比

    ### Linux Shell语法与C语言语法对比详解 #### 引言 在IT行业中,尤其是在系统管理和自动化运维领域,熟悉Linux Shell编程对于提升工作效率至关重要。然而,由于Shell脚本编写的机会相对较少,很多程序员容易忘记...

    LINUX SHELL脚本攻略(中文版带书签)

    附录可能包含Shell命令速查表、常见问题解答等补充资料,提高学习效率。 总的来说,“LINUX SHELL脚本攻略(中文版带书签)”是一本适合初学者和进阶者的实用教程,无论你是开发人员、测试人员还是运维工程师,都能...

    分享下程序员/设计师能用上的 75 份速查表

    7. **Linux速查表**:包含Linux常用命令和Shell脚本编写技巧。 8. **Java速查表**:总结Java基础语法、数据类型、集合框架、线程管理等。 9. **Ruby速查表**:快速回顾Ruby语法和Ruby on Rails框架的基础知识。 ...

    Python-编程速查表PythonBashHaskell

    Bash(Bourne-Again SHell)是Unix和Linux系统中的默认shell,主要用于命令行交互和脚本编写。以下是Bash编程的主要概念: 1. **变量**: - 变量赋值:`VAR=value`,无需声明类型。 - 环境变量:影响整个shell...

    Shell编程大全 高清PDF版

    - 常用Linux命令:提供一份常用的Linux命令速查表,方便日常使用。 - 开源社区与学习资源:推荐一些优秀的在线社区和教程,鼓励读者深入学习和交流。 通过阅读《Shell编程大全》,读者不仅可以掌握Shell编程的...

    速查表:开发者速查表CheatSheets

    Bash速查表则专注于Unix/Linux命令行操作,包括文件管理(如`cd`、`ls`、`cp`、`mv`和`rm`)、文本处理(`grep`、`sed`、`awk`)以及流程控制(`if`、`for`、`while`循环和管道`|`)。它还可能包含一些高级特性,如...

    shell脚本学习指南pdf

    - **常用命令**: 提供常见Unix/Linux命令的速查表。 - **社区和文档**: 引导读者找到更多学习资源,如Stack Overflow、man手册页等。 在"教程重要说明.txt"中,可能包含对阅读本书的注意事项、作者的额外提示,...

    cheatsheets

    标题 "cheatsheets" 暗示这可能是一个包含各种技术速查表的资源集合,这些速查表通常用于帮助用户快速回忆或学习各种IT相关的命令、语法或操作流程。"cheatsheets" 在IT领域非常受欢迎,因为它们提供了一种高效的...

    Shell编程大全.pdf.zip

    最后,书中的附录通常会提供常用命令的速查表,方便读者随时查阅。 总的来说,这是一本全面且深入的Shell编程教程,无论你是初学者还是有经验的Linux用户,都能从中获益。通过学习本书,你将能够熟练地利用Shell...

    linux命令学习

    文件名称列表中的“UnixLinux命令速查表.doc”是一个文档,通常这类速查表会包含常见的Linux命令及其参数,是学习和工作时的便捷参考。如`man`命令提供命令的帮助文档,`sudo`用于以管理员权限执行命令,`find`用于...

    Windows上带有“ Microsoft 2.0”Linux BASH Shell

    5. **Linux CheatSheet.zip**:这个压缩文件可能包含了一份Linux命令的速查表,对于在Windows环境下使用BASH Shell的用户来说非常有价值。通过查阅这份资料,用户可以快速查找和学习各种Linux命令,提高工作效率。 ...

    最经典的unix shell学习资料

    #### 三、Bash Shell语法详解 本书通过大量的实例来详细介绍Bash Shell的各种特性和语法,包括但不限于: - **基础语法**:介绍基本命令的使用方法,如变量赋值、条件判断、循环控制等。 - **命令替换**:讲解如何...

    鸟个的linux私房菜

    **基础学习篇快速索引指令与用语速查表** 提供了Linux常用命令的索引,方便初学者快速查找和学习。以下是一些基础且重要的Linux命令和概念: - **alias**:为常用的命令创建快捷方式,以简化复杂或长命令的输入。 -...

    鸟哥的私房菜

    9. Shell脚本编程:讲解了Bash Shell的基本语法和编程技巧,如变量、循环、函数定义等。 10. 系统管理工具:涉及一些系统管理工具的使用,比如chkconfig、apt-get、yum等。 11. 网络配置与管理:介绍了网络基础...

    Linux系统开发

    - **bash**:第十一章对bash shell进行了全面介绍,包括其基本语法、环境变量设置等内容。 - **bashrc**:在第十一章、4.3节中介绍了.bashrc文件的作用,该文件通常用于存储用户的个性化bash配置。 - **bc**:第五章...

    速查表:我在本地用于开发的注释和参考资料的集合

    "〜/ .bash_profile"是Unix或类Unix系统(如macOS和Linux)中用户主目录下的一个配置文件,用于设置shell的环境变量和别名,这对于定制命令行体验至关重要。提及“示例集成”可能意味着这个集合不仅包含注释和参考...

    Tech-Journal

    - `cheat_sheets/`:简洁的速查表,方便快速查阅常用命令和语法。 - `problems_and_solutions/`:常见问题及其解决方案的集合。 - `scripts_library/`:实用的Shell脚本库,可直接应用或作为模板。 通过学习和实践...

    注意:在Kali Linux,MacOs,Ubuntu等中的有用命令。

    15. **Cheatsheet**:简明教程或速查表,通常包含常用命令和技巧,方便用户快速查阅。 16. **Ansible Galaxy**:Ansible的社区资源仓库,用户可以分享和查找其他人的角色(预定义的任务集)。 17. **Kali Linux ...

    UNIX参考文件UNIX参考文件UNIX参考文件

    在文件列表中提到的`sunjie.zip`可能是一个包含个人或集体整理的UNIX参考资料压缩包,可能包括自定义教程、命令速查表、配置示例等。解压并查阅这个文件可以提供更具体、实用的UNIX知识,帮助用户快速上手或提升技能...

Global site tag (gtag.js) - Google Analytics