Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >zsh:未定义变量时引发错误

zsh:未定义变量时引发错误
EN

Stack Overflow用户
提问于 2016-01-05 03:53:33
回答 1查看 1.3K关注 0票数 1

zsh (或者通常使用shell脚本)的一个不好的方面是,如果您输入了一个变量名,而由此产生的名称不存在,那么它将被静默地视为空字符串,这使得很难找到bug:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if somecondition
then
  myvar=55
else
  my_var=66
fi
echo $MyVar # Oops

我知道这个规则的存在是为了与好的旧伯恩外壳兼容。我还知道,在访问变量时,我可以显式地捕获此错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
echo ${MyVar?NOT SET}

但是,如果我在每个变量访问中都这样做,就会产生丑陋的代码。由于我习惯于显式地初始化所有变量,所以当访问未设置的shell变量或环境变量时,zsh会自动发出错误消息。有办法这样做吗?我已经查过了zshoptions手册页,但没有找到合适的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-02 20:03:35

不仅在zsh中,而且在其他shell中,set -u使对未设置变量的引用成为一个错误。

也就是说,当使用此选项时,许多脚本将无法不修改地工作:不能再使用[[ $foo ]]来检查foo是否由外部环境提供,而是需要[[ ${foo-} ]]

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

https://stackoverflow.com/questions/34611118

复制
相关文章
在 React 中缩放、裁剪和缩放图像
在本文中,我们将了解如何使用 Cropper.js 在 React Web 应用中裁剪图像。尽管我们不会将这些图像上传到远程服务器进行存储,但是很容易就能完成这个任务。
疯狂的技术宅
2020/02/26
6.4K0
在 React 中缩放、裁剪和缩放图像
Laya 中缩放的实现
在 Laya 中, Event 是事件类型的集合。包含了常见的鼠标事件、键盘事件。
用户2434869
2019/03/29
1.7K0
在vue中如何实现点击变成全屏及缩放
项目中有点击按钮实现全屏功能 目录 方式一:js实现全屏 方式二:使用的是sreenfull插件,执行命令安装 方式一:js实现全屏 <template> <div> <a-button type="primary" @click="screen">全屏</a-button> </div> </template> data: data() { return { fullscreen: false }; }, methods: screen() {
江一铭
2022/06/16
1.5K0
在vue中如何实现点击变成全屏及缩放
CALayer
Layers 通常被用于去提供views的后备存储. A layer’s 的主要工作是管理您提供的视觉内容,但layer’s本身视觉属性可以设置,如背景颜色,边境,和阴影。除了管理视觉内容,该层还维护其内容的几何信息(比如它的位置、大小和变换),用于在屏幕上显示这些内容。修改layer的属性决定着你怎么样在layer几何内容上启动动画。对象封装一层一层的持续时间和节奏及其动画采用CAMediaTiming协议,它定义了层的计时信息。
星宇大前端
2022/06/02
3230
在Swift中创建可缩放的图像视图
没有什么比完美的图片更能让你的应用程序熠熠生辉,但如果你想让你的应用程序用户真正参与并与图片互动呢?也许他们想放大、平移、掌握这些图像?
玖柒的小窝
2021/11/05
5.7K0
UIView和CALayer
 UIView:http://blog.csdn.net/ZY_FlyWay/article/details/58611627
星宇大前端
2019/01/15
6830
CALayer的寄宿图
一个视图就是在屏幕上显示的一个矩阵块(比如图片、文字或者视频),它能够拦截点击以及触摸手势等用户输入。视图在层级关系中可以相互嵌套,一个视图可以管理他的所有所有子视图的位置。
拉维
2019/08/12
1.1K0
CALayer的寄宿图
CALayer 图层概念二、CALayer属性二、方法
概念 CA -> Core Animation (核心动画) 相对更底层. CALayer负责视图中显示内容和动画.所有动画都是作用在CALayer上的. UIView负责监听和相应事件.UIView是更高层的封装 在 iOS 中,你能看得见,摸得着的东西基本上都是UIView.比如一个按钮,一个文本标签,一个文本输入框, 一个图标等.这些都是UIView,其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层,在创建UIView对象时, UIView内部会自动创建一个图层 (即CALayer对象
用户2141756
2018/05/18
1.5K0
UIView和CALayer
1 2 3 4viewT.layer.cornerRadius = 10;//设置半径 viewT.layer.borderWidth = 10;//设置边框的宽度,当然可以不要 viewT.layer.borderColor = [[UIColor redColor] CGColor];//设置边框的颜色 viewT.layer.masksToBounds = YES;//设为NO去试试
用户2491699
2018/08/02
9900
CALayer 实用属性补充
这个属性的类型被定义为id(这是由于MacOSX历史原因造成的,因为在Mac中这个属性对CGImage和NSImage都起作用),意味着它可以时任何对象类型,但实际上,如果给contents赋值不是CGImageRef,得到的都将是空白图片。可是CGImageRef属于Core Foundation类型,所以,赋值的时候,需要进行桥接转换。
代码行者
2018/08/23
9510
CALayer 实用属性补充
Golang-实现图片缩放
package main import ( "fmt" "graphics" "image" "image/png" "log" "net/http" "os" "strconv" "strings" ) func main() { http.HandleFunc("/", doImageHandler) http.ListenAndServe("127.0.0.1:6789", nil) } func doImag
李海彬
2018/03/20
3.8K0
UIview 和CALayer、UIWindow
UIView和CALayer都是源自NSObject。 UIView的继承结构为:UIResponder:NSObject。可以看出UIView的直接父类为UIResponder类。 可见UIResponder是用来响应事件的,也就是说UIView可以响应用户事件。 2.CALayer的继承结构:NSObject 直接从NSObject继承,因为缺少了UIResponder类,所以CALayer不能响应任何的用户事件。 它们分别所属的框架 1.UIView是在/System/Library/Frame
且行且珍惜_iOS
2018/05/22
6560
在小程序里实现手势缩放,你可以这样做 | 实战教程
文 | 严灏 上周,知晓程序向大家分享了「知了地铁」小程序的上手体验。同时,我们也在这篇文章中提过,会与大家讨论有关小程序中手势缩放功能的实现。 关注知晓程序(微信号 zxcx0101),回复「知了地
知晓君
2018/06/28
2K0
原生JS实现拖拽缩放元素
今天给大家分享一个用原生JS实现的拖拽缩放元素大小的Demo,效果如下: 以下是代码实现,欢迎大家复制粘贴及吐槽。 <!DOCTYPE html> <html> <head> <meta
越陌度阡
2020/11/26
5.6K0
原生JS实现拖拽缩放元素
JQuery实现图片拖拽缩放特效
给大家分享一个基于JQuery实现的图片拖拽缩放特效,效果如下: 实现代码如下,欢迎大家复制粘贴。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>基于JQuery实现的图片拖拽缩放特效</title> <style type="text/css"> #box { width:
越陌度阡
2022/11/27
8.3K0
JQuery实现图片拖拽缩放特效
CALayer之mask属性-遮罩
它类似于一个子图层,相对于父图层(即拥有该属性的图层)布局,但是它却不是一个普通的子图层。
周希
2019/10/15
2.2K0
巧用css实现等比缩放裁切
我们想要将后台传过来的图片显示在一个80*80 的容器里,但是由于后台给的图片大小不一致,所以我们要对图片做一个等比缩放然后裁切中间部分显示的处理。举个栗子:
IMWeb前端团队
2019/12/05
9330
巧用css实现等比缩放裁切
文章摘要
IMWeb前端团队
2017/12/29
2.3K0
巧用css实现等比缩放裁切
点击加载更多

相似问题

在CALayer上缩放图像?

11

CALayer动画-缩放和滚动

04

缩放CALayer内容的大小

12

缩放CALayer会模糊视图

13

防止CALayer子层缩放

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文