bash - bash中的“只读”退出状态
问题描述
我正在尝试将命令的输出分配给变量并捕获状态。它按预期工作:
$ foo=$(false); echo $?
1
直到我试图使只读变量:
$ readonly foo=$(false); echo $?
0
我知道我可以拥有临时 rw 变量,然后将其分配给 ro 变量,但我很失望。;) 有更优雅的方式吗?
解决方案
您可以分两步完成,而不需要临时变量:
foo="$(false)"
echo $?
readonly foo
或者你可以做
readonly foo="$(false)" status="$?"
同时捕获输出和退出状态。
推荐阅读
- bash - 基于 bash 或 awk 中的数组内容的条件打印
- huggingface-transformers - XLNet:为 TFXLNetForTokenClassification 编辑最后一层
- java - 在 Jersey 环境中注册的使用 (Dropwizard)
- docker - 具有远程 docker 上下文的 Skaffold 开发
- react-native - PanResponder 和 GestureResponder 的区别
- javascript - PHP 广告轮播(随机播放)错误
- python - 使用 `.groupby().apply()` 而不是 `.groupby().agg()`
- android - 更新 Android 系统 webview 后,Android Webview 不工作
- sql-server - 修复表的过程将 cci 构建为 ci
- python - MSAL Python ConfidentialClientApplication.acquire_token_for_client(scope) 返回没有角色/范围的令牌