在编写shell的时候我们都需要万分小心,尤其是给root执行的脚本
#!/bin/bash
....
rm -rf $1/$2/bin/
....
假设上述脚本我执行的时候没有传递参数,造成的后果是相当恐怖的。
有没有好的办法解决这个问题,答案是有的
#!/bin/bash
....
if [ !$1 ];
echo '$1 is null'
exit 1
fi
if [ !$2 ];
echo '$1 is null'
exit 1
fi
rm -rf $1/$2/bin
....
难道我们在使用变量之前,都要判断是否为null,这样太繁琐了,有没有更好的解决办法,答案依然是有的
#!/bin/bash
set -u
....
rm -rf $1/$2/bin
....
当设置set -u 后,使用未赋值的变量时shell将自动退出
分享到:
相关推荐
从DB中取检索值传递给shell,生成环境变量 1. 编写myshellpara.sql 通过spool 执行一个SQL读取所要的值,结果保存在myshellvar_export.sh set feedback off; set heading off; set pagesize 0; set linesize 1000; ...
主要内容: .shell基础 基本介绍,环境,选项,特殊字符 .shell变量 用户定义变量,环境变量,位置变量(shell 参数) .shell script编程 条件测试,循环及重复控制
linux超级基础系列——shell变量(本地变量和环境变量 linux超级基础系列——shell变量(本地变量和环境变量
主要介绍了Shell脚本定义变量和重新赋值,以及变量命名规则,需要的朋友可以参考下
linux初学者写的小脚本,用来配置JAVA环境变量,纯属练手,不喜勿喷
day1shell编程简介以及变量shell编程.txt
详细介绍了shell基础之环境变量 位置参数变量 预定义变量,并附有例子详细演示截图。适合初学者。
在shell中,变量的赋值格式如下: name-string 其中,name是变量名,它的值就是string,“=”是赋值符号。变量名是 以字母或下画线开头的字母、数字和下画线字符序列组成的。 通过在变量名(name)前加$字符...
Shell基础-环境变量配置文件-简介
shell编程基础之变量 linux mooc笔记
linux超级基础系列——shell变量(本地变量和环境变量).pdf
通过shell脚本一键实现jdk8的安装和环境变量配置工作。
•深入浅出Shell编程: Shell 变量 ◦1 系统变量 ◦2 Shell用户变量 ■2.1 基础 ■2.2 使用技巧 ■2.3 shell 中的数组 ◦3 shell 环境变量 先不要管Shell的版本,来看看Shell 变量,在Shell中有三种变量:系统变量,...
最近实现了一个shell脚本,功能简单来说就是从文件中按行读取然后将...按照常理shell中的变量默认是全局变量,不会存在变量作用域的问题,于是上网查了下,发现问题出在while上 while循环读取文件中内容有两种写法,一
深入_Shell_变量操作
shell的特殊变量实例详解 shell的特殊变量实例详解shell的特殊变量实例详解 $0 shell或shell脚本的名字 $* 以一对双引号给出参数列表 $@ 将各个参数分别加双引号返回 $# 参数的个数 $_ 代表上一个命令...
Shell变量名使用的特殊字符: $# 传送给命令Shell的参数序号 $- 在Shell启动或使用set命令时提供选项 $? 上一条命令执行后返回的值 $$ 当前shell的进程号 $! 上一个子进程的进程号 $@ 所有的参数,每个都用双...
今天小编就为大家分享一篇shell for循环、循环变量值付给其他shell脚本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
shell命令行