`
shihuan830619
  • 浏览: 582992 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

shell脚本编程

阅读更多
例1: 用vi编辑文件echodate输出系统日期
[root@testgitlab opt]# vi echodate

#%Y
#%m
#%d
echo `date +%Y%m%d`

保存并退出。

[root@testgitlab opt]# sh ./echodate
20160125
或者
[root@testgitlab opt]# chmod 755 echodate
[root@testgitlab opt]# ./echodate
20160125

--------------------------------------------------------------------------------------------------------------------


PS1: 主命令提示符。用户可根据需要自行定义。
PS2: 二级命令提示符。命令执行过程中要求输入数据时用。
LD_LIBRARY_PATH: 寻找动态链接库的路径。如果存在多个路径,路径间用冒号分隔。

用户自定义PS1环境变量举例:
\d  显示当前日期
\h  显示主机名
\t  显示当前时间
\u  显示当前用户的用户名
\w  显示当前工作目录的路径

把提示符格式修改为: "[主机名-用户名][工作目录]>"的形式
export PS1="[\h-\u][\w]"      #这个是临时性的

[root@testgitlab ~]# vi /etc/profile 或者 vi .bash_profile
加入export PS1="[\h-\u][\w]"这句
[root@testgitlab ~]# source /etc/profile 或者 source .bash_profile


---------------------------------------------------------------------------------------------------------------------


管道是将一个命令的输出作为另一个命令的输入。
例: 要统计当前目录下文件的数量可以用下述命令实现:
[root@testgitlab opt]# ls|wc -l    # ls是显示列表命令,wc是统计命令,|是管道的符号,这条命令表示wc统计ls的输出信息。


重定向技术可以将输入或输出重新定向到指定的目标,如某个文件或打印机等。
>: 重定向,如果是重定向至文件,则目标文件被覆盖。
>>: 重定向,如果是重定向至文件,则将在目标文件的尾部追加。
[root@testgitlab opt]# cat 文件名称>/opt/a.txt


<: 输入重定向。
<<: 也称为here文档操作符。它通知shell当前运行的命令的输入来自命令行。<<操作符后面的输入用一个分隔符开始,用同样的另外一个分隔符结束。两个分隔符间的内容就是要执行的命令的输入。例如,要统计一段文字单次的数量,如下所示:
wc<<delim
This is a test program!
This is the second line.
delim


创建一个shell脚本autoftp,实现自动登录ftp服务器并下载某文件。其实现过程如下:
[root@testgitlab opt]# vi autoftp
ftp -n 192.168.1.10<<!
user abc password
get $1
bye
!

保存并退出。

【代码解析】在本例中,通过执行非交互模式(-n选项)的ftp,使用输入重定向符<<,实现了自动登录ftp服务器并下载指定文件的功能。源码的各行解释如下。
第一行:执行非交互模式的ftp,通过<<指定ftp的输入来自于后续的文本。
第二行:自动输入ftp服务器的用户名和密码。
第三行:调用ftp的get命令从服务器获取指定的文件。
第四行:关于与ftp服务器的连接。
第五行:重定向的第二个分隔符,注意该符号应该从下一个新行开始。


----------------------------------------------------------------------------------------------------------------------------------------------------------------------



shell变量的使用:
类型: 环境变量、用户自定义变量、系统全局变量。
系统全局变量代表了特定的含义,不能为用户所修改,主要的全局变量包括以下3个:
$#: 执行shell脚本时的命令行参数个数,不包括脚本本身
$?: 执行上一条shell命令的返回值
$0: shell脚本程序自身的名称

变量定义格式如下:
变量名称=变量初始值(注意等号两边不能够有空格)
在用户定义自己的变量时,要遵循以下命名规则。
1、首个字母必须为字母(a~z、A~Z)
2、中间不能有空格,可以使用下划线
3、不能使用标点符号
4、不能使用shell里的关键字(可执行help命令查看保留关键字)


要在脚本程序中使用变量,则通过"$变量名称"的方式进行。即在变量的前面加$符号。另外,在shell编程中存在一种称为位置变量的变量。这种变量类似于C语言编程中的命令行参数,它代表了执行shell程序时的命令行参数。要在shell脚本中引用这些位置变量,通过$0,$1,$2,...的方式进行。其中,$0代表shell命令程序本身,而$1代表shell命令行的第一个参数,$2代表第二个参数,以此类推。


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------


shell批处理:

[root@testgitlab opt]# vi test.sh
程序必须以下面的行开始(必须放在文件的第一行)
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。

能执行普通的命令。

例如:
#!/bin/bash
# shutdown pc
sudo shutdown +1
分享到:
评论

相关推荐

    Shell脚本编程100例

    Shell脚本编程是Linux系统管理中的重要技能,它允许用户自动化执行一系列命令,大大提高工作效率。以下是一些关于Shell脚本编程的关键知识点: 1. **Hello World脚本**:这是所有编程语言的基础,用于验证环境设置...

    shell脚本编程100例

    《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了多个方面的shell脚本编程知识,读者可以通过学习这些实例,掌握shell脚本编程的技术,实现自动化系统管理和数据处理。

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    高级Shell脚本编程.zip

    **高级Shell脚本编程** Shell脚本编程是Linux/Unix系统中的重要技能,它是一种用于自动化任务、管理系统和实现批处理操作的脚本语言。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,它扩展了原始的...

    linux命令行与shell脚本编程.pdf

    linux命令行与shell脚本编程.pdf

    最实用的Linux 命令行和shell脚本编程宝典

    最实用的Linux 命令行和shell脚本编程宝典,是最常用的参考手册。

    Linux+命令行和shell脚本编程宝典(清晰绝对完整版).rar

    Linux 命令行和shell脚本编程宝典(清晰绝对完整版).pdf,绝对完整的版本,清晰度比160多M的还要好一些,有完整书签,在CSDN上花8分下载了4个part,结果解压不了,超级郁闷。辛苦找到的这个真正完整的可以分享给大家...

    Shell脚本编程详解

    Shell脚本编程是一种在Linux和类Unix操作系统中广泛使用的脚本编写技术,它允许用户创建自动化任务,执行一系列命令和操作。在这个主题中,我们将深入探讨Shell脚本编程的几个关键方面。 首先,理解`Shell命令行的...

    LinuxShell脚本编程实例.doc

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...

    精通UNIX Shell脚本编程(pdf 版, 附源代码)

    精通UNIX Shell脚本编程 作者:(美)Randal K.Michael著;詹文军,邓波等译 页数:502 【作 者】(美)Randal K.Michael著;詹文军,邓波等译 【形态项】 502 ; 26cm 【出版项】 北京市:电子工业出版社 , 2005....

    Linux Shell 脚本编程入门教程

    用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的...

    shell脚本编程100例.doc

    Shell脚本编程是一种在Linux和Unix系统中广泛使用的编程方式,它允许用户通过编写脚本来自动化执行一系列系统命令。在本文中,我们将深入探讨几个关键的Shell脚本知识点,包括基本语法、变量、条件判断、循环、进程...

    Shell脚本编程详解-吐血共享

    Shell脚本编程详解是深入探讨Linux环境下Shell脚本编写技巧与方法的文档,本文件详细介绍了如何创建、修改和执行Shell脚本,以及如何在脚本中使用各种参数和变量。Shell脚本通常是指一系列放在文件中的Linux命令和...

    shell脚本编程基础

    **shell脚本编程基础** 在Linux或Unix操作系统中,shell脚本是一种强大的自动化工具,它允许用户通过编写一系列命令来执行复杂任务。bash是默认的Shell,也是最常用的Shell之一,具有丰富的内置命令和功能。本文将...

    Shell 脚本编程最佳实践.doc

    Shell 脚本编程最佳实践主要关注代码的可读性、规范性和维护性。以下是一些关键要点: 1. **Shebang(蛇棒)**:脚本的第一行应包含`#!`,后接解释器路径,如`#!/bin/bash`。这指定了脚本应该由哪个shell解释器执行...

    shell脚本编程学习笔记汇总

    shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...

    Shell 脚本编程实战100例.pdf

    从提供的文件内容来看,这是一本关于Shell脚本编程的实战教程书籍,以实例的方式教授读者如何使用Shell脚本来完成各种Linux系统运维任务。下面将详细介绍从给出的内容中能够总结出的一些Shell脚本编程知识点。 首先...

Global site tag (gtag.js) - Google Analytics