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 ...
随机推荐
- iTOP-iMX6UL开发板【全能版】-动态调频技术简介
本文档以 iMX6UL 为例,简单介绍 cpufreq 的 5 种模式. 在 imx6ul 的 menuconfig 中,进入 CPU Power Management ---> CPU Fre ...
- Luogu P2158 仪仗队 题解报告
题目传送门 [题目大意] 给定一个n×n的点方阵,求站在左下角的点能看到的点数 注意同一条直线上只能看到一个点 [思路分析] 因为是一个方阵,所以可以对称地算,那么对于半个方阵,这里假设是左上的半个方 ...
- day 21 - 1 包,异常处理
创建目录代码 1. 无论是 import 形式还是 from...import 形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法2. 包是目录级的(文 ...
- C# 创建Web项目时 可以选择的类型在不同VS版本下的对比
上面这个界面应该是 vs2010的 一. VS2012 .VS2013 其实每个模板的意思,在右边已经显示出来了.Empty,就是一个空的模板,创建后里面除了一个web.config外什么都没有:We ...
- python中的operator.itemgetter函数
operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号.看下面的例子 a = [,,] >>> b=) ...
- Mysql 时间差(年、月、天、时、分、秒)
SELECT TIME_TO_SEC(TIMEDIFF('2018-09-30 19:38:45', '2018-08-23 10:13:01')) AS DIFF_SECOND1, -- 秒 UNI ...
- 如何使用npm构建一个react demo项目
方法一: 1) 安装node.js环境 点我进入nodejs官网 1.1) 下载LTS(Long term support)版本,安装 1.2) 在cmd中使用以下命令查看node是否安装成功 no ...
- 从头开始学gradle【各系统安装gradle】
所有的环境都是基于jdk1.8 java -version windows安装 下载对应的gradle.zip安装包,解压到指定文件即可,然后配置相应的环境变量即可使用 linux/mac 安装 mk ...
- 奇yin技巧
关于一些奇yin技巧 关于删除字符串中的一些字串,并且考虑新的字串 例题:luogu4824 luogu3121 方法:开一个栈记录,发现字串后剪去字串长度. for(int i=1;i<=le ...
- vertical-align作用的前提++图片不上下居中
5.3.2 vertical-align作用的前提 很多人,尤其CSS新手,会问这么一个问题:“为什么我设置了vertical-align却没任何作用?” 因为vertical-align起作用是有前 ...