【Linux 系统编程】shell 脚本基础学习(一)
2016-09-29 16:05
791 查看
转载请标明出处:
http://blog.csdn.net/u011974987/article/details/52702734
本文出自:【stromxu的博客】
Linxu shell 脚本基础学习先来介绍shell的语法,开头、注释、变量和环境,虽然不涉及到具体的东西,但是大号基础是以后学习的前提,很多时候我们拿到别人的开源库,需要编译使用,但是由于各种原因,总是编译不成功,其中就有shell 脚本,如果我们看不懂别人的脚本,编译出错,还查不来原因。(比如一个空格导致编译失败,你能查出原因么?)
程序必须以下面的行开始(必须放在文件的第一行):
符号”#!”用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod u+x filename 这样才能用./filename 来运行
[b]1.1.2 注释[/b]
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
[b]1.1.3 变量[/b]
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
有时候变量名很容易与其他文字混淆,比如:
这并不会打印出”this is the 2nd”,而仅仅打印”this is the “,因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
这将打印: this is the 2nd
[b]1.1.4 环境变量[/b]
由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。
这一篇就介绍到这里,下面我们会接触到具体的Linux shell脚本基础的实质部分。
【Linux 系统编程】shell 命令和流程控制(二)
【Linux 系统编程】shell 流程控制loop和引号(三)
【Linux 系统编程】shell 输入/输出重定向及HereDocument(四)
【Linux 系统编程】shell 脚本基础学习之函数(五)
本文由博主辛苦整理下来的笔记;
希望大家能够指点或提出宝贵意见,共同学习,谢谢!
转载请注明出处:http://blog.csdn.net/u011974987/article/details/52702734
欢迎关注我的社交网站~
个人博客:xuhaoblog.com
新浪微博:http://weibo.com/xuxiho
GitHub:https://github.com/git-xuhao
http://blog.csdn.net/u011974987/article/details/52702734
本文出自:【stromxu的博客】
前言
Linux shell 脚本基础我们将分几篇文章来记录,希望对我们这些初次接触Linxu shell脚本编程的初学者有帮助;Linxu shell 脚本基础学习先来介绍shell的语法,开头、注释、变量和环境,虽然不涉及到具体的东西,但是大号基础是以后学习的前提,很多时候我们拿到别人的开源库,需要编译使用,但是由于各种原因,总是编译不成功,其中就有shell 脚本,如果我们看不懂别人的脚本,编译出错,还查不来原因。(比如一个空格导致编译失败,你能查出原因么?)
正文
1.Linxu 脚本编写基础
1.1 语法的基本介绍
[b]1.1.1 开头[/b]程序必须以下面的行开始(必须放在文件的第一行):
#!/bin/bash
符号”#!”用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod u+x filename 这样才能用./filename 来运行
[b]1.1.2 注释[/b]
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
[b]1.1.3 变量[/b]
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
#!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a
有时候变量名很容易与其他文字混淆,比如:
num=2 echo "this is the $numnd"
这并不会打印出”this is the 2nd”,而仅仅打印”this is the “,因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
num=2 echo "this is the ${num}nd"
这将打印: this is the 2nd
[b]1.1.4 环境变量[/b]
由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录脚本中使用环境变量。
这一篇就介绍到这里,下面我们会接触到具体的Linux shell脚本基础的实质部分。
更多相关系列传送门:
【CSDN】Linux Shell脚本基础学习系列
【Linux 系统编程】shell 脚本基础学习(一)【Linux 系统编程】shell 命令和流程控制(二)
【Linux 系统编程】shell 流程控制loop和引号(三)
【Linux 系统编程】shell 输入/输出重定向及HereDocument(四)
【Linux 系统编程】shell 脚本基础学习之函数(五)
本文由博主辛苦整理下来的笔记;
希望大家能够指点或提出宝贵意见,共同学习,谢谢!
转载请注明出处:http://blog.csdn.net/u011974987/article/details/52702734
欢迎关注我的社交网站~
个人博客:xuhaoblog.com
新浪微博:http://weibo.com/xuxiho
GitHub:https://github.com/git-xuhao
相关文章推荐
- Liunx 命令行与shell脚本编程大全 第八章学习笔记(Linux系统的包管理基础)
- 【Linux 系统编程】shell 脚本基础学习之函数(五)
- 嵌入式开发之linux基础第六天学习笔记 shell脚本编程(一)
- Linux学习-shell脚本编程基础之处理用户输入
- 嵌入式开发之linux基础第七天学习笔记 shell脚本编程(二)
- Linux学习-shell脚本编程基础(节选)
- linux学习之shell脚本 ------- 基础
- Shell脚本编程学习入门 01 分类: arm-linux-Ubuntu 2013-08-30 17:42 409人阅读 评论(0) 收藏
- linux基础学习-shell脚本学习(鸟哥私房菜)
- Linux基础:Shell脚本学习
- Linux Bash Shell学习(七):shell编程基础——运行Shell脚本、function
- Linux系统Shell脚本的入门学习
- Shell脚本编程学习入门 02 分类: arm-linux-Ubuntu 2013-08-30 17:45 427人阅读 评论(0) 收藏
- Linux学习-高级shell脚本编程(一)函数的妙用
- Linux基础入门及系统管理01-bash脚本编程之四文件测试及特殊变量19
- Linux基础入门及系统管理01-bash脚本编程之五字符串测试及for循环21
- Shell脚本编程——了解你的Linux系统必须掌握的20个命令
- LinuxC/C++编程基础(13) shell脚本简单实例
- Shell脚本编程——了解你的Linux系统必须掌握的20个命令
- Linux基础入门及系统管理01-bash脚本编程之一变量、变量类型等16