首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止在变量未定义时运行bash

如何防止在变量未定义时运行bash
EN

Unix & Linux用户
提问于 2020-09-18 17:46:20
回答 1查看 320关注 0票数 2
代码语言:javascript
复制
#!/bin/bash       
$myval=/home
ls $mval <- unexpected misspelling

由于没有定义$mval,是否有方法停止ls命令的执行?

注意不能检查是否存在,因为它是一个错误。我正在寻找更多的财产,可以设置。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-09-18 17:51:34

您可以使用set -u选项来完成此操作,如果您试图展开一个未设置变量,该选项将中止。但是,请注意,$myval=/home是无效的语法,不会设置变量。你需要放下$

代码语言:javascript
复制
#!/bin/bash 

set -u
     
myval=/home
ls "$mval"

在执行参数展开时,-u将未设置的变量和特殊参数“@”或“*”以外的参数视为错误。一个错误消息将被写入标准错误,一个非交互的shell将退出.

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/610109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档