- 浏览: 1251873 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (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 2005... -
linux iptables ssh 相关配置
2015-12-30 10:04 1642Iptables配置 (1)查看本机关于IPTABLES的 ... -
让CentOS启用EPEL的软件库
2015-09-01 15:06 0... -
linux防火墙iptables的几个操作
2015-05-12 13:13 7491开放某个端口 修改/etc/ ... -
关于Linux的Ulimit参数
2014-12-22 12:13 1277JVM 64位平台与32位平台 ... -
一种文件完整性校验的方法
2014-12-18 17:49 3684通常,运维人员会在系统上安装杀毒软件, ... -
SSH命令传输文件
2014-08-14 10:40 1253linux 通过SSH传输文件 scp -rp /p ... -
实用shell脚本备份2
2014-05-21 14:27 967#!/bin/bash #chkconfig: 5 80 ... -
实用shell脚本备份
2014-05-21 14:09 1170#!/bin/bash #chkconfig: 5 80 ... -
./configure报configure: error: C++ preprocessor "/lib/cpp" fails sanity check
2014-03-17 15:40 4554centos6.1 在安装tripwire的时候 报了个错 ... -
shell 实现java程序的start,stop,restart,status
2014-02-25 17:47 8190#!/bin/bash #chkconfig: 5 80 ... -
redhat修改了rc.local 后linux起不来了
2014-02-25 16:13 1941本来想让程序自动运行的,可是在 redhat修改了 ... -
linux 下查看机器是cpu是几核的
2013-10-29 11:25 1437linux 下查看机器是cpu是几核的 几个cpu ... -
CentOS 5 LVM
2013-03-19 09:22 912Linux 2.6以上内核支持ext3的在线扩容第一种情况: ... -
centos5.6安装ora10g
2013-03-19 09:15 1024下载附件 -
CentOS5.2安装配置DNS服务器
2013-03-19 09:11 1150标题:CentOS5.2安装配置DNS服务器 出处:天空极 ... -
linux smb 服务配置.txt
2013-03-19 09:10 1520一.samba服务器介绍: * samba服务 ... -
centos 5.5 上安装svn+apache+apr
2012-05-29 12:25 1965在centos5.5下面安装 svn+apache实现 ... -
vsftpd 500 OOPS: cannot change directory:/root
2012-04-12 17:04 1601vsftpd 500 OOPS: cannot chang ... -
centos vsftpd
2011-09-05 13:25 1238在这里介绍一下vsftp的安装与配置方式: 1、安装vsft ...
相关推荐
在“Linux Shell编程与服务器管理”中,范例程序与数据文件提供了丰富的学习资源,帮助理解并掌握Shell脚本的编写技巧和服务器管理的基本概念。 首先,让我们探讨Linux Shell的基本概念。在Linux系统中,Shell是一...
例如,你可以使用`if`检查某个条件,如果满足则执行一段代码;`for`循环常用于遍历数组或文件列表。 函数也是Shell脚本中常用的部分,可以封装重复使用的代码块。定义函数的格式为`function funcname { commands; }...
下面是一段基本的Java代码示例,展示了如何使用JSch连接到远程Linux服务器并执行一个简单的Shell命令: ```java import com.jcraft.jsch.*; public class SSHExecutor { public static void main(String[] args) ...
实验任务一: 编写一个Shell过程完成如下功能(必须在脚本中使用函数): 1、合并两个$1、$2文件为$3,并显示。 2、如果缺少$3,那么先报告缺少$3,然后将合并后的内容输出到mydoc.txt。如果有$3,就合并到...
【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脚本是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 ...
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脚本,用户可以更高效地管理服务器、处理数据以及完成日常任务。Shell脚本编程对于Linux系统管理员、开发人员甚至是普通用户来说都是非常有用的技能。 #### 二、Shell脚本的基础概念 ##### 2.1 Sha-...
- 编写简单的shell程序,实现基本的命令解析和执行。 - 实现简单的服务器和客户端通信程序,了解网络编程基础。 - 利用IPC机制实现多进程或线程协作完成任务。 通过《Linux程序设计》的学习,读者不仅能掌握...
Linux Shell 编程是Linux操作系统中非常重要的一部分,它允许用户通过命令行接口与操作系统进行...这不仅对于日常的系统管理有帮助,也为未来涉及服务器配置、自动化任务或者嵌入式系统开发等工作打下了坚实的基础。