- 浏览: 582776 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (174)
- JBPM (3)
- WWF (0)
- JavaScript (11)
- J2EE (40)
- OperationSystem (11)
- 数据库 (12)
- CSS (1)
- Ajax (2)
- J2SE (30)
- Tools (10)
- 服务器中间件 (3)
- 异常 (0)
- Flex (5)
- jQuery (11)
- html (9)
- Ejb (1)
- HTML5 Shiv–让该死的IE系列支持HTML5吧 (1)
- Spring (9)
- Quartz (3)
- log4j (1)
- maven (1)
- cpdetector (1)
- JSON (1)
- log4jdbc (1)
- asm (8)
- FusionCharts (1)
- jqplot (1)
- highcharts (1)
- excanvas (1)
- html5 (1)
- jpcap介绍 (1)
- weblogic (3)
- URLURLClassLoader (0)
- URLClassLoader (1)
- ant (2)
- ivy (2)
- nexus (1)
- IT (0)
- LoadRunner (1)
- SCSS (1)
- ruby (1)
- webstorm (1)
- typescript (1)
- Jboss7 (1)
- wildfly (1)
- oracle (5)
- esb (0)
- dubbo (2)
- zookeeper (3)
- eclipse (1)
- Android (2)
- Studio (1)
- Google (1)
- 微信 (1)
- 企业号 (1)
- Linux (13)
- Oracle12c (1)
- Hadoop (1)
- InletexEMC (1)
- Windows (1)
- Netty (3)
- Marshalling (2)
- Protobuf (1)
- gcc (1)
- Git (1)
- GitLab (1)
- shell (2)
- java (3)
- Spring4 (1)
- hibernate4 (1)
- postgresql (1)
- ApacheServer (2)
- Tomcat (2)
- ApacheHttpServer (2)
- realvnc (1)
- redhat (7)
- vncviewer (1)
- LVS (4)
- LVS-DR (1)
- RedHat6.5 (5)
- LVS-NAT (1)
- LVS-IPTUNNEL (2)
- LVS-TUN (1)
- keepalived (2)
- yum (1)
- iso (1)
- VMware (1)
- redhat5 (1)
- ha (1)
- nginx (2)
- proguard (1)
- Mat (1)
- DTFJ (1)
- axis2 (1)
- web service (1)
- centos (1)
- random (1)
- urandom (1)
- apache (1)
- IBM (1)
- cve (1)
- 漏洞 (1)
- JDBC (1)
- DataSource (1)
- jdk (1)
- tuxedo (2)
- wtc (1)
最新评论
-
skying007:
好资料,谢谢分享给啊
FusionCharts在服务器端导出图片(J2EE版) -
cgnnzg:
大神好 可以发一份源码给我学习么 多谢了 978241085 ...
springmvc+dubbo+zookeeper -
jifengjianhao:
求源码:854606899@qq.com
springmvc+dubbo+zookeeper -
wdloyeu:
shihuan8@163.com邮箱网盘在哪,没找到。能给份源 ...
Java Socket长连接示例代码 -
huangshangyuanji:
求代码:45613032@qq.com
springmvc+dubbo+zookeeper
例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
[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脚本编程.rar (1.9 KB)
- 下载次数: 0
- shell批处理.rar (338 Bytes)
- 下载次数: 0
发表评论
-
Linux下ZooKeeper集群搭建
2017-12-26 17:19 739shihuan830619@163.com邮箱的网盘里&quo ... -
RedHat7的非root用户调用xclock
2017-05-16 15:12 2112错误提示:Error: Can't open display: ... -
RedHat6.5用镜像文件配置yum源
2016-04-20 17:20 3293RedHat 6.5 x64位 [root@gyum ~]# ... -
realvnc使用
2016-03-23 17:19 1267远端实验服务器: RedHat 6.5 一、在Linux上安 ... -
java调用shell脚本
2016-01-26 00:53 1307附件java执行shell.rar里是已经下载好的jar包。 ... -
Linux目录名称
2016-01-25 22:23 860[root@testgitlab /]# 这个是根目录 [ ... -
RedHat6.5在线安装GitLab
2016-01-22 21:09 2963https://gitlab.com/gitlab-org/g ... -
Linux安装Git服务
2016-01-22 21:01 1206[root@testgit rpmlib]# pwd /opt ... -
Linux安装ruby
2016-01-22 20:53 3311https://rvm.io/ 官方网站 https: ... -
验证RedHat6是否能够联网
2016-01-22 20:46 1101验证RedHat6是否能够联网: [root@testagen ... -
Linux非联网状态安装gcc依赖包
2016-01-22 20:43 3680cloog-ppl-0.15.7-1.2.el6.x86_64 ... -
Hadoop集群环境搭建
2015-12-11 17:09 1164最近学习了下hadoop的安装。下面详细说明下步骤。 一、环 ... -
Linux hosts文件参考内容
2015-11-11 17:13 1105127.0.0.1 localhost localhost ... -
shell命令学习资料
2011-12-04 19:14 1150附件里为Shell脚本学习资料。 -
Linux下WebLogic10.3的安装与配置
2009-10-10 18:45 24580WebLogic 10.3 安装、配置与管理手册 第二章 We ...
相关推荐
Shell脚本编程是Linux系统管理中的重要技能,它允许用户自动化执行一系列命令,大大提高工作效率。以下是一些关于Shell脚本编程的关键知识点: 1. **Hello World脚本**:这是所有编程语言的基础,用于验证环境设置...
《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了多个方面的shell脚本编程知识,读者可以通过学习这些实例,掌握shell脚本编程的技术,实现自动化系统管理和数据处理。
《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...
**高级Shell脚本编程** Shell脚本编程是Linux/Unix系统中的重要技能,它是一种用于自动化任务、管理系统和实现批处理操作的脚本语言。在Linux环境中,Bash(Bourne-Again SHell)是最常用的Shell,它扩展了原始的...
linux命令行与shell脚本编程.pdf
最实用的Linux 命令行和shell脚本编程宝典,是最常用的参考手册。
Linux 命令行和shell脚本编程宝典(清晰绝对完整版).pdf,绝对完整的版本,清晰度比160多M的还要好一些,有完整书签,在CSDN上花8分下载了4个part,结果解压不了,超级郁闷。辛苦找到的这个真正完整的可以分享给大家...
Shell脚本编程是一种在Linux和类Unix操作系统中广泛使用的脚本编写技术,它允许用户创建自动化任务,执行一系列命令和操作。在这个主题中,我们将深入探讨Shell脚本编程的几个关键方面。 首先,理解`Shell命令行的...
Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux操作系统的Shell来编写脚本程序,实现自动化任务、批处理和system administration等功能。本文将通过实例讲解Linux Shell脚本编程的基本概念、语法和...
精通UNIX Shell脚本编程 作者:(美)Randal K.Michael著;詹文军,邓波等译 页数:502 【作 者】(美)Randal K.Michael著;詹文军,邓波等译 【形态项】 502 ; 26cm 【出版项】 北京市:电子工业出版社 , 2005....
用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的...
Shell脚本编程是一种在Linux和Unix系统中广泛使用的编程方式,它允许用户通过编写脚本来自动化执行一系列系统命令。在本文中,我们将深入探讨几个关键的Shell脚本知识点,包括基本语法、变量、条件判断、循环、进程...
Shell脚本编程详解是深入探讨Linux环境下Shell脚本编写技巧与方法的文档,本文件详细介绍了如何创建、修改和执行Shell脚本,以及如何在脚本中使用各种参数和变量。Shell脚本通常是指一系列放在文件中的Linux命令和...
**shell脚本编程基础** 在Linux或Unix操作系统中,shell脚本是一种强大的自动化工具,它允许用户通过编写一系列命令来执行复杂任务。bash是默认的Shell,也是最常用的Shell之一,具有丰富的内置命令和功能。本文将...
Shell 脚本编程最佳实践主要关注代码的可读性、规范性和维护性。以下是一些关键要点: 1. **Shebang(蛇棒)**:脚本的第一行应包含`#!`,后接解释器路径,如`#!/bin/bash`。这指定了脚本应该由哪个shell解释器执行...
shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...
从提供的文件内容来看,这是一本关于Shell脚本编程的实战教程书籍,以实例的方式教授读者如何使用Shell脚本来完成各种Linux系统运维任务。下面将详细介绍从给出的内容中能够总结出的一些Shell脚本编程知识点。 首先...