在编写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将自动退出
分享到:
相关推荐
可以使用`help`命令查看Shell中的保留关键字列表。 以下是一些符合命名规则的示例: ```bash # 符合命名规则的示例 first_name="Tom" last_name="Jerry" full_name="Tom_Jerry" ``` #### 三、使用花括号来界定...
本文将深入探讨Shell中的三种主要变量类型:用户自定义变量、环境变量和位置参数变量,以及预定义变量。 1. **用户自定义变量**: 用户自定义变量是我们在Shell会话或脚本中创建的局部变量,它们只在当前的Shell...
最后,Linux shell中还存在特殊变量,这些变量通常是只读的,并且在脚本中用来接收命令行参数。例如,`$1`、`$2`、`$3` 等分别用来接收脚本运行时传入的第一个、第二个、第三个参数。 在编写shell脚本时,合理利用...
Shell中的保留字符有特殊含义,例如`$`用于引用变量,`|`用于管道连接命令,`#`开始注释,`&`使命令在后台执行,`*`和`?`作为通配符,`>`和`>>`进行输出重定向,``用于命令替换等。 总的来说,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脚本编程的基础之一,...通过以上详细介绍,我们了解了Shell变量的基本概念、赋值方式、引用方法以及变量的种类,这对于编写有效的Shell脚本非常关键。
在Shell中,无需预先声明变量的类型,可以直接给变量赋值。例如,`NAME="John"` 创建了一个名为`NAME`的变量,并将其值设置为"John"。变量名是大小写敏感的,所以`name`与`NAME`被视为不同的变量。 2. **变量类型*...
shell 变量是 Linux 系统中的一种重要概念,它允许用户存储和重复使用有用的信息,提高工作效率。shell 变量可以分为本地变量和环境变量两种。 什么是 shell 变量 shell 变量是存储在系统中的可读写存储单元。...
深入探讨Shell变量操作:变量替换扩展与字符串处理 在Linux Shell编程中,变量操作是构建高效、灵活脚本的关键技能之一。本文将深入探讨Shell变量的高级操作技巧,特别是变量替换扩展和字符串处理,旨在帮助读者...
本文介绍了Linux Shell中的本地变量和环境变量的概念及其基本用法。本地变量仅在当前Shell环境中有效,而环境变量则在整个系统范围内有效。通过合理的定义和使用这些变量,可以极大地提高Shell脚本的灵活性和可维护...
内容概要:shell脚本入门——变量、字符串, 本文详细介绍了 Shell 脚本中变量和字符串的基本操作,包括变量的定义、使用和作用域,以及字符串的定义、操作和拼接。通过具体的代码示例,解释了如何定义和使用变量,...
在本文中,我们将深入探讨Shell中的变量,包括它们的定义、类型、赋值、使用以及相关的命令。 ### 一、变量的定义 在Shell编程中,变量是用来存储数据的容器。它们可以用来保存文本字符串、数字或其他类型的值。在...
linux初学者写的小脚本,用来配置JAVA环境变量,纯属练手,不喜勿喷
例如,在父Shell中定义一个变量并尝试在子Shell中访问该变量时,如果没有事先导出,子Shell将无法识别该变量。 Shell变量导出的用法对于管理和维护环境变量至关重要。如果需要在脚本中使用的变量,应确保在调用子...
day1shell编程简介以及变量shell编程.txt
Shell中,变量赋值可以使用单引号、双引号或不使用引号。不包含空格的简单字符串通常不需要引号。双引号允许变量扩展,即Shell在解析时会将其中的变量替换为实际值。单引号则保留字面意义,即变量名会被当作普通字符...
Linux Shell 变量是 Linux 命令行中非常重要的一部分,它们可以帮助用户更方便地执行任务和管理系统。下面我们将详细解释 Linux Shell 变量的概念和使用方法。 一、shell 变量的概念 Shell 变量是 Linux Shell 中...
在Shell编程中,变量是存储数据的基本单元,它们可以帮助我们保存和处理各种信息。本文主要探讨了Shell变量的使用、赋值、显示、删除以及一些特殊的操作。 1. **本地变量** 本地变量仅在当前Shell会话中有效,不会...