bash - || && 运算符打印真假输出
问题描述
我正在编写一个脚本,该脚本将计算文件中的行数,如果少于 1 行,它将不会运行我的“blender”脚本。
有人可以确认我对操作员工作的误解,因为它运行我的脚本,无论它是否真实,但奇怪的是它之前的 echo 命令。
如果有人可以告诉我如何在语句中包含变量,而无需将它们分配为变量,则可以加分。我尝试了很多不同的方法,但每次都会吐出错误。
代码
placement="$(wc -l array/placement-array.tsv | awk '{print $1}')"
advertiser="$(wc -l array/advertiser-array.tsv | awk '{print $1}')"
[ $placement -lt 1 ] && echo "This email doesn't appear to have placement" || echo "this file has a placement, running placement script" && ./scripts/placement_blender.sh && echo "placement script run"
[ $advertiser -lt 1 ] && echo "This email doesn't appear to have advertiser" || echo "this file has a advertiser, running advertiser script" && ./scripts/advertiser_blender.sh && echo "advertiser script run"
输出
+ awk {print $1} + wc -l array/placement-array.tsv + placement=1 + awk {print $1} + wc -l array/advertiser-array.tsv + advertiser=0 + [ 1 -lt 1 ] + echo this file has a placement, running placement script this file has a placement, running placement script + ./scripts/placement_blender.sh + echo placement script run placement script run + [ 0 -lt 1 ] + echo This email doesn't appear to have advertiser This email doesn't appear to have advertiser + ./scripts/advertiser_blender.sh + echo advertiser script run advertiser script run
解决方案
推荐阅读
- react-native - 功能组件调用其他功能导致无效的挂钩调用
- amazon-web-services - Rds_instance 无法使用 Ansible 在 Aurora 集群中创建 RDS 数据库
- node.js - Vue Router External Auth - 重定向到登录页面并弹回主页
- node.js - 如何让 Firebase 云功能与颤振一起使用
- apache-spark - 在 Pyspark 中将字符串更改为时间戳
- c - C - 无法通过指针将 int 传递给嵌套函数调用
- asp.net-core - ASP.net swagger API 使用 curl -I localhost:5100/index.html 返回 200,而为 localhost:5100 返回 404?
- python - 在 Ursina for python 中使用 3d obj 文件和纹理
- powershell - 无法将值传递给函数
- prestashop - prestashop 后端和前端的产品重复