gpt4 book ai didi

linux bash 如果 $a 等于任何值那么 $b 等于 1 但是如果 $a 什么都不等于那么 $b 什么都不等于

转载 作者:太空狗 更新时间:2023-10-29 12:03:11 25 4
gpt4 key购买 nike

默认标志将始终不等于任何内容或 [0-9],如果默认标志等于 [0-9],则 track_number 等于 1,但如果 track_number 不等于任何内容,则 track_number 不等于任何内容

default_flag=$(mkvmerge --identify-verbose video.mkv | awk -F'[ :]+' '$4=="subtitles"&&/default_track:1[[:space:]]/{print $3}')

出于某种原因,这不起作用:

if [ -s $default_flag ]; then track_number=""; else track_number="1"; fi

最佳答案

这个条件就是问题所在:

if [ -s $default_flag ];

根据 man test:

   -s FILE
FILE exists and has a size greater than zero

这里你只是检查空字符串,所以使用 -z

你可以这样做:

[[ -z "$default_flag" ]] && track_number="" || track_number="1"

关于linux bash 如果 $a 等于任何值那么 $b 等于 1 但是如果 $a 什么都不等于那么 $b 什么都不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27237700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com