bash - 如何在bash脚本中将变量评估为二进制表达式
问题描述
在编写一些 bash 脚本时,我遇到了一种情况,我不确定如何做某事。如何将字符串的全部内容评估为单个 if 语句表达式中的单个表达式。
expression="0 != 1"
if [[ $expression ]]; then
eval $action
exit $?
fi
解决方案
使用旧式单括号,因为[[
不会对变量进行分词。
[
是一个正常的命令,所以变量扩展正常发生。
if [ $expression ]; then
或者,您可以eval
在以下if
条件下使用:
if eval "[[ $expression ]]"; then
推荐阅读
- node.js - Docker 的“彩色输出”在 Github Actions 上失败
- php - 从 CSV 获取对象数组,删除标题并更改键
- azure-eventhub - 将虚拟网络添加到现有事件中心命名空间
- algorithm - 为什么使用动态规划的算法不能在多项式时间内解决背包问题?
- python - 如何将数据框中的值保存为满足条件的字符串?
- python - 如何从 BeautifulSoup 抓取中获取 div 内的 div 的内部文本?
- r - 将数据行与 R(和 tidyverse)中的附加源列连接起来的函数
- c# - 如何总结使用 c# 和 Newtonsoft JSON 的值?
- android - React native flex 在 Android 上镜像
- ionic-framework - Android 10 Ionic 5 移动应用程序不显示来自 Amazon s3 的图像