首页 / 操作系统 / Linux / Linux 脚本编写初学 Hello World
用Shell写一个hello world需要的Shell脚本知识很简单,但对于学习Shell来说还是很重要的,写完并运行helloworld之后就能对Shell有个基本的认识,所以一般语言教学都会用一个helloworld程序开始,废话不多说:Shell helloworld执行语法基本介绍程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。 在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:#!/bin/sh#对变量赋值:a="hello world"# 现在打印变量a的内容:echo "A is:"echo $a有时候变量名很容易与其他文字混淆,比如:num=2echo "this is the $numnd"这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:num=2echo "this is the ${num}nd"这将打印: this is the 2nd附注:Shell流程控制1:if "if" 表达式 如果条件为真则执行then后面的部分:if ....; then ....elif ....; then ....else ....fi通常用" [ ] "来表示条件测试。注意这里的空格很重要。要确保方括号的空格。[ -f "somefile" ] :判断是否是一个文件[ -n "$var" ] :判断$var变量是否有值[ "$a" = "$b" ] :判断$a和$b是否相等 执行man test可以查看所有测试表达式可以比较和判断的类型。 直接执行以下脚本:#!/bin/shif [ "$SHELL" = "/bin/bash" ]; then echo "your login shell is the bash (bourne again shell)"else echo "your login shell is not bash but $SHELL"fi 2:casecase :表达式可以用来匹配一个给定的字符串,而不是数字。case ... in...) do something here ;;esac file命令可以辨别出一个给定文件的文件类型,比如:file lf.gz 这将返回:lf.gz: gzip compressed data, deflated, original filename,last modified: Mon Aug ......3.:selsectselect 表达式是一种bash的扩展应用,尤其擅长于交互式使用。用户可以从一组不同的值中进行选择。select var in ... ; do breakdone.... now $var can be used ....---end----