Linux05--Shell程序设计01

1.Shell脚本介绍

基本介绍:

shell脚本是一个可执行的纯文本文件,由多个shell命令组成。

命令的执行是从上而下,从左而右的分析和执行

命令,参数间的多个空白也会被忽略

#是注释

#!用于指定使用的shell名称  如 bash csh等

shell脚本一般以.sh为后缀名。

内部命令与外部命令

内部命令:shell是通过执行自己代码中相应的部分来完成的。

外部命令:一些二进制的可执行文件或者shell脚本

2.   通过type命令可以查看命令的类型

[[email protected] ~]$ type [-tpa] name
选项与参数:
    :不加任何选项与参数时,type 会显示出name 是外部指令还是bash 内建指令
-t :当加入-t 参数时,type 会将name 以底下这些字眼显示出他的意义:
      file :表示为外部指令;
      alias :表示该指令为命令别名所设定的名称;
      builtin :表示该指令为bash 内建的指令功能;
-p :如果后面接的name 为外部指令时,才会显示完整档名;
-a :会由PATH 变数定义的路径中,将所有含name 的指令都列出来,包含alias

范例一:查询一下ls这个指令是否为bash内建?
[[email protected] ~]$ type ls
ls is aliased to `ls --color=auto‘ <==未加任何参数,列出ls的最主要使用情况
[[email protected] ~]$ type -t ls
alias                               < ==仅列出ls执行时的依据
[[email protected] ~]$ type -a ls
ls is aliased to `ls --color=auto‘ <==最先使用aliase
ls is /usr/bin/ls                   <= =还有找到外部指令在/bin/ls

范例二:那么cd呢?
[[email protected] ~]$ type cd
cd is a shell builtin               <==看到了吗?cd是shell内建指令

3.变量    bash shell的变量功能

?变量是bash shell中重要的概念和功能,类似于C/Java语言中的变量。

?需要掌握的变量相关操作命令:

1.变量的显示与设置:echo、unset

输出变量值:echo  $PATH

设置变量的语法是  : a=b

取消变量的语法是: unset a

2.环境变量的相关操作:env、export

使用env命令查看环境变量

?使用set命令查看所有变量:包括环境变量和自定义变量

3. 环境变量和自定义变量的主要区别是作用域的不同。

?环境变量在整个bash运行过程中均有效,而自定义变量只在当前进程中有效。子进程会继承父进程的环境变量,不会继承自定义变量。

?使用export命令可将自定义变量转化为环境变量。

3.变量的输入:read

从键盘读取变量值

?使用read命令从键盘读取变量值,和用户交互,在shell script经常使用。

?read语法为:

[[email protected] ~]$ read [-pt] variable
选项与参数:
-p :后面可以接提示字元!
-t :后面可以接等待的『秒数!』这个比较有趣~不会一直等待使用者啦!

范例一:让使用者由键盘输入一内容,将该内容变成名为atest的变数
[[email protected] ~]$ read atest
This is a test         <==此时游标会等待你输入!请输入左侧文字看看
[[email protected] ~]$ echo ${atest}
This is a test           <==你刚刚输入的资料已经变成一个变数内容!

范例二:提示使用者30秒内输入自己的大名,将该输入字串作为名为named的变数内容
[[email protected] ~]$ read -p "Please keyin your name: " -t 30 named
Please keyin your name: VBird Tsai    <==注意看,会有提示字元喔!
[[email protected] ~]$ echo ${named}
VBird Tsai         <==输入的资料又变成一个变数的内容了!

  

4.数组与声明:declare/typeset、

[[email protected] ~]$ declare [-aixr] variable
选项与参数:
-a :将后面名为variable 的变数定义成为数组(array) 类型
-i :将后面名为variable 的变数定义成为整数数字(integer) 类型
-x :用法与export 一样,就是将后面的variable变成环境变数;
-r :将变数设定成为readonly 类型,该变数不可被更改内容,也不能unset

范例一:让变数sum进行100+300+50的加总结果
[[email protected] ~]$ sum=100+300+50
[[email protected] ~]$ echo ${sum}
100+300+50   <==咦!怎么没有帮我计算加总?因为这是文字型态的变数属性啊!
[[email protected] ~]$ declare -i sum=100+300+50
[[email protected] ~]$ echo ${sum}
450

  

时间: 2024-08-02 08:44:26

Linux05--Shell程序设计01的相关文章

linux程序设计——shell程序设计(第二章)

第二章    shell程序设计 本章介绍以下内容: 什么是shell 基本思路 微妙的语法:变量,条件判断和程序控制 命令列表 函数 命令和命令的执行 here文档 调试 grep命令和正则表达式 find命令 shell执行shell程序,这些程序通常称为脚本,它们是在运行时解释执行的.这使得调试工作比较容易进行,因为可以逐行地执行指令,而且节省了重新编译的时间.然而,这也使得shell不适合用来完成时间紧迫型和处理器忙碌型的任务. UNIX架构非常依赖于代码的高度可重用性,如果你编写了一个

几个shell程序设计小知识(shell常识部分)

[转自]http://blog.chinaunix.net/uid-168249-id-2860686.html 引用:一.用户登陆进入系统后的系统环境变量:  $HOME 使用者自己的目录  $PATH 执行命令时所搜寻的目录  $TZ 时区  $MAILCHECK 每隔多少秒检查是否有新的信件  $PS1 在命令列时的提示号  $PS2 当命令尚未打完时,Shell 要求再输入时的提示号  $MANPATH man 指令的搜寻路径 二.特殊变量: $0 这个程序的执行名字  $n 这个程序的

[连载]Java程序设计(01)---任务驱动方式:英制单位转换成公制单位

任务:你所在的公司是一家美国的服装设计和制造公司,现在这家公司打算进入欧洲市场,于是需要一个将英制单位(英寸)换算为公制单位(厘米)的程序.已知1英寸=2.54厘米,该程序输入以英寸为单位的长度,显示该长度对应的厘米数.例如:输入英寸:2.5,输出:2.5英寸=6.35厘米. package com.lovo; import java.util.Scanner; public class MyConverter { public static void main(String[] args) {

Shell 程序设计简易教程

Shell 程序设计简易教程 我不能说我写过多少功能复杂的 shell 脚本,但一些简单的脚本倒是写了不少.在 Linux 下工作,有时候一些零零碎碎的工作,如果你通过写 shell 脚本来处理,会发现那是相当的方便和快捷.当然这样的脚本也不是经常会用到,偶尔用到的时候又要重新去翻书或者查资料,因为我们毕竟不能记住太多的东西,这似乎有些麻烦,所以索性就写了这份网络教程,以便于今后参考. 本教程的内容大部分摘自清华大学出版社出版的<Linux操作系统实用教程>一书,原书作者为文东戈, 孙昌立,

shell程序设计

1.shell脚本的基本概念: (1)Shell执行的是称为shell程序,这些程序通常被称为脚本. (2)Shell是一个用户和系统间接口的程序,它允许用户向操作系统输入需要执行的命令. (3)shell包含bash和csh以及其他程序围绕在linux内核的四周.(图1-1) (4)在linux大多数发行版中,默认的shell程序/bin/sh实际上是对程序/bin/bash的一个链接. 图 1-1 2.管道和重定向 2.1重定向输入和输出 Eg:ls -1 > 1.txt 说明: 使用<和

shell程序设计(转)

1.shell脚本的基本概念: (1)Shell执行的是称为shell程序,这些程序通常被称为脚本. (2)Shell是一个用户和系统间接口的程序,它允许用户向操作系统输入需要执行的命令. (3)shell包含bash和csh以及其他程序围绕在linux内核的四周.(图1-1) (4)在linux大多数发行版中,默认的shell程序/bin/sh实际上是对程序/bin/bash的一个链接. 图 1-1 2.管道和重定向 2.1重定向输入和输出 Eg:ls -1 > 1.txt 说明: 使用<和

【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用

shell编程01—shell基础

01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersync,sshkey批量分发管理 02.shell脚本概念 1.什么是shell shell是一个命令解释器,在操作系统的最外层,负责直接与用户对话,将用户的输入解释给操作系统,并输出操作系统各种各样的处理结果,输出到屏幕返回给用户.这种对话方式可与是交互式的(键盘输入命令,可以立即得到shell的回

Linux程序设计(二)shell程序设计

1. 管道和重定向 文件描述符0:一个程序的标准输入 文件描述符1:标准输出 文件描述符2:标准错误输出 >操作符:把标准输出重定向到一个文件. >>操作符:将输出内容附加到一个文件中. |操作符:连接进程. 2. 作为程序设计语言的shell 2.1 创建脚本 注释以#符号开始. #!字符告诉系统同一行上紧跟在它后面的寻附上参数是用来执行本文件的程序. 2.2 把脚本设置为可执行 chmod +x first 3. shell的语法 3.1 变量 默认情况下,所有变量被看作字符串并以字

Linux - Shell程序设计基本语法

使用双引号的字符 双引号是Shell的重要组成部分 $ echo Hello World Hello World $ echo "Hello World" Hello World 如何显示: Hello "World" 以下命令可以吗?$ echo "Hello "World"" 正确方法:echo "Hello \"World\"" 条件测试 测试命令 test expression