- 浏览: 1263662 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
#!/bin/sh function sig_int(){ echo "could not use ctrl-c to escape capaa authenticate" } trap "sig_int" INT CAPAA_JAAS_HOME=/opt/capaa/jaas CLASSPATH=$CAPAA_JAAS_HOME/bin/capaa-jaas.jar:$CAPAA_JAAS_HOME/lib/commons-codec.jar:$CAPAA_JAAS_HOME/lib/commons-logging.jar:$CAPAA_JAAS_HOME/lib/commons-httpclient-3.1.jar:$CAPAA_JAAS_HOME/lib/log4j-1.2.15.jar:$CAPAA_JAAS_HOME/bin #echo $CLASSPATH osuser=`who am i | awk '{ print $1}'` date=`who am i | awk '{ print $3}'` time=`who am i | awk '{ print $4}'` ip=`who am i | awk '{ print $5}'`
shell的东西,我自己很弱,基本没怎么写过,项目里有个模块,是用来管理linux服务器的,主要是用来在操作系统验证用户密码以后加入我们自己的验证逻辑。写的不多,现在把 写的东西做个注释,备忘:
#!/bin/sh
这是linux的注释方式,用#号.
function sig_int(){ echo "could not use ctrl-c to escape capaa authenticate" } trap "sig_int" INT
这里表示的是一个函数,名称是sig_int,没有参数,函数的作用是输出一句话。echo后面跟字符串,变量等,表示用来输出。变量一般用$表示。
trap "sig_int" INT ,这里的trap 是linux 的关键字,INT表示的是Ctrl+C,这句话的意识是当用户输入Ctrl+c的时候,可以被捕获掉,然后去执行这个函数sig_int。提示不能这么做。这里相当于把linux的ctrl+c操作重定向掉了。
CAPAA_JAAS_HOME=/opt/capaa/jaas
CLASSPATH=$CAPAA_JAAS_HOME/bin/capaa-jaas.jar:$CAPAA_JAAS_HOME/lib/commons-codec.jar:$CAPAA_JAAS_HOME/lib/commons-logging.jar:$CAPAA_JAAS_HOME/lib/commons-httpclient-3.1.jar:$CAPAA_JAAS_HOME/lib/log4j-1.2.15.jar:$CAPAA_JAAS_HOME/bin
#echo $CLASSPATH
这几句话是定义一个变量CAPAA_JAAS_HOME,值是一个路径。CLASSPATH在赋值的时引用了这个变量,使用的是$ 符号。这里指向我们自己开发的jar文件,这里有个bin目录,是应为有个属性文件要读取(classpath里面可以是jar,也可以是配置文件)
osuser=`who am i | awk '{ print $1}'` date=`who am i | awk '{ print $3}'` time=`who am i | awk '{ print $4}'` ip=`who am i | awk '{ print $5}'`
这几句话是定义一些变量并用管道结合awk函数进行赋值,主要是取osuser,date,time,ip地址。
下面这段代码做如下事情
提示用户输入用户和密码,程序读取到,用stty -echo用来设置用户的输入不显示,不能被看到。然后执行java代码,并且往Main函数里传参数。$?可以被用来获取上一个操作的输出,并且中间不能有别的操作!最后判断结果,加入不等于0,就退出
#echo $osuser #echo $date #echo $time #echo $ip function do_authenticate(){ printf "please input capaa username:\n" read username printf "please input password:\n" stty -echo read password stty echo #echo $username #echo $password java -classpath $CLASSPATH -Djava.security.auth.login.config=/opt/capaa/jaas/bin/security.conf com.mchz.capaa.jaas.Main "$username" "$password" $osuser $date $time $ip #echo $? if [ $? -ne 0 ]; then exit #echo fi }
发表评论
文章已被作者锁定,不允许评论。
-
centos7 更改gitlab 仓库位置
2018-07-05 14:53 2046... -
linux iptables ssh 相关配置
2015-12-30 10:04 1796Iptables配置 (1)查看本机关于IPTABLES的 ... -
让CentOS启用EPEL的软件库
2015-09-01 15:06 0... -
linux防火墙iptables的几个操作
2015-05-12 13:13 7711开放某个端口 修改/etc/ ... -
关于Linux的Ulimit参数
2014-12-22 12:13 1306JVM 64位平台与32位平台 ... -
一种文件完整性校验的方法
2014-12-18 17:49 3719通常,运维人员会在系统上安装杀毒软件, ... -
SSH命令传输文件
2014-08-14 10:40 1272linux 通过SSH传输文件 scp -rp /p ... -
实用shell脚本备份2
2014-05-21 14:27 988#!/bin/bash #chkconfig: 5 80 ... -
实用shell脚本备份
2014-05-21 14:09 1205#!/bin/bash #chkconfig: 5 80 ... -
./configure报configure: error: C++ preprocessor "/lib/cpp" fails sanity check
2014-03-17 15:40 4577centos6.1 在安装tripwire的时候 报了个错 ... -
shell 实现java程序的start,stop,restart,status
2014-02-25 17:47 8221#!/bin/bash #chkconfig: 5 80 ... -
redhat修改了rc.local 后linux起不来了
2014-02-25 16:13 1981本来想让程序自动运行的,可是在 redhat修改了 ... -
linux 下查看机器是cpu是几核的
2013-10-29 11:25 1455linux 下查看机器是cpu是几核的 几个cpu ... -
CentOS 5 LVM
2013-03-19 09:22 934Linux 2.6以上内核支持ext3的在线扩容第一种情况: ... -
centos5.6安装ora10g
2013-03-19 09:15 1051下载附件 -
CentOS5.2安装配置DNS服务器
2013-03-19 09:11 1165标题:CentOS5.2安装配置DNS服务器 出处:天空极 ... -
linux smb 服务配置.txt
2013-03-19 09:10 1563一.samba服务器介绍: * samba服务 ... -
centos 5.5 上安装svn+apache+apr
2012-05-29 12:25 2000在centos5.5下面安装 svn+apache实现 ... -
vsftpd 500 OOPS: cannot change directory:/root
2012-04-12 17:04 1654vsftpd 500 OOPS: cannot chang ... -
centos vsftpd
2011-09-05 13:25 1265在这里介绍一下vsftp的安装与配置方式: 1、安装vsft ...
相关推荐
在“Linux Shell编程与服务器管理”中,范例程序与数据文件提供了丰富的学习资源,帮助理解并掌握Shell脚本的编写技巧和服务器管理的基本概念。 首先,让我们探讨Linux Shell的基本概念。在Linux系统中,Shell是一...
例如,你可以使用`if`检查某个条件,如果满足则执行一段代码;`for`循环常用于遍历数组或文件列表。 函数也是Shell脚本中常用的部分,可以封装重复使用的代码块。定义函数的格式为`function funcname { commands; }...
实验任务一: 编写一个Shell过程完成如下功能(必须在脚本中使用函数): 1、合并两个$1、$2文件为$3,并显示。 2、如果缺少$3,那么先报告缺少$3,然后将合并后的内容输出到mydoc.txt。如果有$3,就合并到...
下面是一段基本的Java代码示例,展示了如何使用JSch连接到远程Linux服务器并执行一个简单的Shell命令: ```java import com.jcraft.jsch.*; public class SSHExecutor { public static void main(String[] args) ...
【Linux 操作系统】Linux 是一个免费开源的类 Unix 操作系统,因其实时性、多用户性质和强大的网络功能而被广泛应用,特别是在嵌入式技术和服务器领域。 【Shell 程序设计】Shell 是 Linux 操作系统中的命令解释器...
”字符串,主进程休眠一段时间后,在主进程中结束子进程,随后主进程也退出。 9、编写程序,在程序中使用命令行形式显示程序所在当前文件夹下的内容。 10、编写程序,得到当前进程的标识号,并将它打印输出,随后...
构建一个能够支持全网段邮件收发服务的企业级邮件服务器。 **具体步骤** 1. **选择邮件服务器软件**:例如Postfix或Exim。 2. **安装软件**:使用包管理器安装所选的邮件服务器软件。 3. **配置邮件服务器**:编辑...
在Linux中,Shell是一个程序,它为用户提供了一个与操作系统内核交互的接口。常见的Shell有Bash(Bourne-Again SHell)、Sh、Csh、Ksh和Zsh等。Bash是目前最广泛使用的Shell,它继承了Sh的功能,并添加了许多增强...
5. **循环结构**:`for`、`while`等循环语句可以用来重复执行一段代码。 6. **函数定义**:可以通过`function`关键字定义函数,将一系列操作封装起来。 7. **逻辑运算符**:如`&&`(与)、`||`(或)用于组合多个...
通过编写Shell脚本,用户可以更高效地管理服务器、处理数据以及完成日常任务。Shell脚本编程对于Linux系统管理员、开发人员甚至是普通用户来说都是非常有用的技能。 #### 二、Shell脚本的基础概念 ##### 2.1 Sha-...
Shell脚本是Linux或Unix系统中用于自动化任务的一种强大工具。在实验一中,你需要掌握以下知识点: 1. **Shell基础**:了解Bash Shell的基本语法,如变量赋值、条件语句(if-else)、循环(for, while)和函数定义...
总的来说,了解和掌握Linux Shell的小常识,以及如何利用PAM和日志系统进行安全管理,对于任何Linux用户或系统管理员来说都是非常重要的技能。这些知识不仅有助于日常操作,而且在系统维护和故障排查时也能发挥关键...
在IT领域,Linux系统是广泛应用于服务器和开发环境的操作系统,而Shell编程是与Linux紧密相关的技能之一。本文将深入探讨“Linux基础13:学习SHELL编程”这一主题,帮助你掌握如何利用Shell脚本自动化日常任务,提高...
在IT行业中,Shell编程是一种非常重要的技能,尤其是在Linux系统管理中。本文将深入探讨标题"shell_ip_orangewgz_linux_shell_shell编程_shell脚本_"所提及的利用Shell编写判断IP地址合法性的脚本这一主题。我们将...
- **Shell 的概念**:在 Linux 系统中,Shell 是一个命令解释器,它接收用户输入的命令,并将这些命令传递给操作系统内核去执行。Shell 也是用户与操作系统之间交互的主要方式之一。 - **Shell 脚本语言**:Shell ...
Linux Shell 编程是Linux操作系统中非常重要的一部分,它允许用户通过命令行接口与操作系统进行...这不仅对于日常的系统管理有帮助,也为未来涉及服务器配置、自动化任务或者嵌入式系统开发等工作打下了坚实的基础。
16.3 运行一段脚本 152 16.4 小结 153 第17章 条件测试 154 17.1 测试文件状态 154 17.2 测试时使用逻辑操作符 155 17.3 字符串测试 155 17.4 测试数值 156 17.5 expr用法 157 17.5.1 增量计数 158 17.5.2 数值测试 ...
下面是一段完整的Shell脚本示例,用于压缩所有以数字开头的文件: ```bash #!/bin/bash # 查找以数字开头的文件并写入临时文件tar ls | grep '^[0-9]\w*' > tar # 遍历临时文件tar中的每一行,并对每个文件进行...