bash - bash:验证去皮成功
问题描述
有没有办法在 bash 脚本中验证是否tar -xvf foo.tar -C /destination
成功?
我当前的 bash 脚本如下所示:
if [[ tar -xvf foo.tar -C /destination ]]; then
echo "ok"
else
echo "not ok"
fi
不幸的是,我收到以下错误:
verify.sh[124]: syntax error: unexpected operator/operand '-xvf'
有没有更好的方法来验证它?为什么我不允许使用-xvf?
解决方案
[[
用于评估条件表达式,而不是执行任意命令。([[
它本身就是一个命令,尽管在句法上不同于简单命令的所谓复合命令。)
只需放下括号。
if tar -xvf foo.tar -C /destination; then
退出状态为 0 是否tar
表明您要验证的成功类型是另一个问题。
推荐阅读
- spring - 为什么 spring-boot-starter-hateoas.jar 是空的?
- amazon-web-services - S3 跨账户访问 | 通过另一个账户的控制台访问存储桶
- reactjs - 如何在 Typescript 的上下文中使用 React Hooks?
- php - Laravel 会话数据无法立即访问
- javascript - 将 GeoJson 导入 GoogleMap
- javascript - 如何检查用户是否未定义
- python - 遍历 df 行并根据 if 语句执行计算
- python - 类型错误:+ 不支持的操作数类型:添加 numpy 数组时的“生成器”和“生成器”
- sml - SML:定义一个数组
- c - 如何在数组中找到坐标为 (x1, y1) 和 (x2, y2) 的两点之间的直线长度?