Shell 编程注意点
(一)判断语句
[$# -lt 4 ]判断语句,格式[空格 比较对象1 比较符号 比较对象2]
$# 启动脚本时携带参数个数;参数个数总数。
$1 代表第一个参数。
$? 最后一次执行名命令的退出状态,0成功,非0失败。
-eq 等于;-ne 不等于;-gt 大于;-ge 大于等于; -lt 小于; -le 小于等于;
数值比较 if [ “$1” -eq “$2” ],其他比较不需要””引号。
exit 0 正常退出。exit 1 异常退出,终止程序退出。
(二) 判断参数
if [ ! -d $1 ] 判断目录是否不存在
-e 存在文件。 -d 目录。-L 符号链接。
-r 可读。 -w 可写。 -x可执行。
-f 常规文件。 -s 文件长度不为0。-h 软链接。
文件1 -nt 文件2 如果文件1比文件2新,则为真。
文件1 -ot 文件2 如果文件1比文件2旧,则为真。
if [ -z “$pid” ] 判断变量的值是否为空。zero=0 为空返回0,为true。这个例子为单对括号,变量需要加双引号。
if [[ -z $pid ]] 双对括号变量不需要加双引号。
if [ -n “$pid” ] 判断变量的值是否为空。name=0 非空返回0,为true.为空返回1,为false。这个例子为单对括号,变量需要加双引号。
if [[ -n $pid ]] 双对括号变量不需要加双引号。
(三)sqlplus 结束符号
sqlplus 用户名/密码@数据库名 <<!或者sqlplus 用户名/密码@数据库名 <<EOF
EOF是end of file 缩写。
sql语句结束后需要加!或者EOF.
(四)ftp用法
open $hostaddr
user $username $userpassword
cd /etl/date
binary
mget $grepstr*
mdel $grepstr*
put $1
close
by
!
(五)while read line用法。 \为键盘左上方顿号,1旁边。
while read line
do
tbname=\echo $line | awk | -F’,’ ‘{print $1}’\
tbspace=\echo $line | awk | -F’,’ ‘{print $2}’\
echo $tbname
echo $tbspace
sh xxxx
done < t.ini
t.ini文件如下
T1,F1,1
T2,F2,1
(六) for 用法
for((i=1;i<=$1;i++)); do
echo “$i”
sqlplus $DB<<EOF&
@/etl/$2.sql $i
(七)export 设置或显示环境变量
export JAVA_HOME=/etl/bin
Shell 编程注意点的更多相关文章
- Linux学习笔记(17) Shell编程之基础
1. 正则表达式 (1) 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep.awk.sed等命令可以支持正则表达式:通配符用来匹配符合条件的文件名,通配符是完全匹配.ls.find ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- Linux Shell编程入门
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- Linux_10------Linux之shell编程------变量
.-9 vim num.sh #! /bin/bash num1=$1 num2=$2 sum=$(($num1+$num2)) #变量sum是num1和num2的综合 echo $sum 执行 ./ ...
- 需要交互的shell编程——EOF(转载)
在shell编程中,”EOF“通常与”<<“结合使用,“<<EOF“表示后续的输入作为子命令或子shell的输入,直到遇到”EOF“, 再次返回到主调shell,可将其理解为分 ...
- ****CodeIgniter使用cli模式运行,把php作为shell编程
shell简介 在计算机科学中,Shell俗称壳(用来区别于核).而我们常说的shell简单理解就是一个命令行界面,它使得用户能与操作系统的内核进行交互操作. 常见的shell环境有:MS-DOS.B ...
- Shell 编程基础之变量和环境变量
一.变量赋值和引用 Shell 编程中,使用变量无需事先声明,同时变量的命名不惜遵循如下规则: 首个字符必须为字母(a-z,A-Z)或者_ 变量名中间不能有空格,可以使用_连接 不能使用其他表达符号 ...
- Linux Shell编程基础
在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls 显示当前路径下的文件,常用的有 -l 显示长格式 -a 显示所有包括隐 ...
- centos 下建用户 shell编程
useradd 用户名 passwd 用户名 cat /etc/passwd 查看用户信息 删除用户 userdel -r 加一个 -r 表示把用户及用户的主目录都删除 su 切换用户 sud ...
随机推荐
- python整数与IP地址转换
python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import ...
- 2018-2019-2 20165234 《网络对抗技术》 Exp0 Kali安装 Week1
Week1 kali安装 一.下载系统镜像文件 首先下载系统镜像,进入kali官网,在Downloads中选择Download Kali Linux. 我选择的是64位版本,点击HTTP下载镜像文件. ...
- PHP 【六】
命名空间 教学网站的内容不知道再怎么“笔记化”,用之即可 面向对象 类定义 创建对象 $xxx = new 类名: 调用成员方法 $xxx->方法名(参数): 举例: <?php cl ...
- 嵌入式Linux学习路线
最近比较忙,对于嵌入式的相关学习一直没有很好的开展.今天也看了不少的嵌入式Linux的学习路线,也和几个工作过的朋友聊了聊,想把之后的学习过程记录下来. 自己以后想从事驱动开发这方面的工作,因为大多数 ...
- 生成透视列之for xml path
临时表#t原始数据: 实现如下格式,即根据Province分组,把每个组对应的City列以某种格式展示: 实现方法: select t.Province,(select city+',' From # ...
- msdn原版系统和原版office
建议使用迅雷下载工具进行下载 激活详见:在线激活win10.win8/8.1和office2019.2016.2013等的kms激活工具 windows 10 家庭版/家庭单语言版/专业版/教育版/专 ...
- java内部类:成员内部类,静态内部类方法内部类,匿名内部类(A)
package cn.kecheng; /** * 在java中,一个文件可以定义多个类,文件名必须和public 类型的类的类名保持一致.这两个类是平行关系. * 在java中,一个类也可以定义在一 ...
- 初识C语言(六)
数组 程序中需要容器,该容器有点特殊,它在程序中是一块连续的,大小固定并且里面的数据类型一致的内存空间,它的名字叫数组. 声明一个数组: 数据类型 数组名称[长度]; C语言中的数组初始化是有三种形式 ...
- IDEA创建完整目录maven项目
鉴于第三次利用idea建立完整目录maven项目时仍要反反复复地问度娘,特此记录 1.第一步,进行project-> 勾选Create from archetype,搜索maven.archet ...
- 宏定义define和const的区别
define和const都可以用来定义常量,define的格式为:#define 标识符 字符串,const在定义常量前面,const类型定以后不能被修改,区别主要有如下几点: 1.编译器处理方式不同 ...