标签: conditional-statements

在 zsh 中比较两个字符串

我一直在到处寻找应该是一个简单的例子。第一次尝试为 zsh 编写脚本,现在 MacOS 已切换为默认值 - 如何比较 if 语句中的两个字符串?我尝试了以下操作,但仍然收到错误no matches found: [foo==foo]

if ["foo"=="foo"]
then
    echo "True"
else
    echo "False"
fi
Run Code Online (Sandbox Code Playgroud)

zsh conditional-statements

18
推荐指数
1
解决办法
2万
查看次数

在条件中使用通配符匹配字符串的开头

试图让一个变量遇到一个长度不同的文本字符串。字符串中重要的部分是前几个字符。

var1=hello  
if [ $var1 == hello ]; then  
    echo success  
fi
Run Code Online (Sandbox Code Playgroud)

或者

var1=hello  
if [ $var1 == h*o ]; then  
    echo success  
fi
Run Code Online (Sandbox Code Playgroud)

输出:成功

但由于我关心前 3 个字符左右,这听起来合乎逻辑,但不起作用:

var1=hello  
if [ $var1 == hel* ]; then  
    echo success  
fi
Run Code Online (Sandbox Code Playgroud)

输出:-bash: [: 参数太多

由于我只关心前几个字符,我可以这样做:

var1=hello 
if [ ${var1:0:3} == hel ]; then 
    echo success  
fi
Run Code Online (Sandbox Code Playgroud)

那会起作用,但我正在寻找解释为什么我会收到该错误以及可能的更好的书面解决方案。

bash wildcards conditional-statements

8
推荐指数
1
解决办法
2万
查看次数

仅当端口空闲时才执行命令的 Bash 脚本

嗨,我有一个 bash 脚本,它需要根据端口 80 是否已在使用来有条件地执行几行代码:

sudo git fetch origin;
sudo git checkout master;
sudo git pull;
Run Code Online (Sandbox Code Playgroud)

--- 如果端口 80 打开

echo Starting Meteor;
export LC_ALL=C;
export ROOT_URL=$ROOT_URL;
sudo meteor --port 80;
Run Code Online (Sandbox Code Playgroud)

- - 别的

echo Meteor already running;
Run Code Online (Sandbox Code Playgroud)

然后作为顶部的樱桃,因为 Meteor 是一个长时间运行的进程,我如何让它在后台运行并退出脚本?(我试过 nohup 和 &,但我不知道最佳做法是什么?)

非常感谢

bash ubuntu conditional-statements

4
推荐指数
1
解决办法
1576
查看次数

Excel 中的多个 IF 语句和连接

Excel示例

到目前为止,我已经设法将单元格 I1 和 J1 与单词“From”和“To”连接起来,并使用以下方法将它们放在单独的行上:

=CONCATENATE("From: ",I1," ","To: ",J1)
Run Code Online (Sandbox Code Playgroud)

我还设法使用以下方法填充 L 列(仅当 H 列中有数据时):

=IF(H1="","","Notes: " & H1)
Run Code Online (Sandbox Code Playgroud)

现在,我想用这两个公式组合填充 M 列,但我迷失在 IF 语句的迷宫中,这些语句不起作用:

=IF(H1="","","Notes: " & H1,"",if(I1="","","From: " & I1," ",if(J1="","","From: " & J1)))
Run Code Online (Sandbox Code Playgroud)

microsoft-excel conditional-statements

4
推荐指数
1
解决办法
5万
查看次数

bash 如何测试“假”?

$ false
$ echo $?
1

$ if [[ false ]]; then echo 'do it'; fi
do it

$ test false && echo 'do it'
do it

$ COND=false
$ echo $COND
false
$ if [[ $COND -ne 0 ]]; then echo 'do it'; fi
$ if [[ $COND -ne true ]]; then echo 'do it'; fi
Run Code Online (Sandbox Code Playgroud)

这是废话 IMO,我在这里错过了什么?

- 更新

所以下面是它的过程:

$ COND=false
$ if ! $COND; then echo 'do it'; fi
do it
$ if $COND; then echo …
Run Code Online (Sandbox Code Playgroud)

linux bash conditional-statements

4
推荐指数
1
解决办法
8541
查看次数

SUMPRODUCT 和 IF 条件 (LibreOffice)

如果满足第三个相邻单元格的条件,我想将同一行中的两个单元格相乘;然后将结果与下一行中的下一个乘积相加(如果满足条件),依此类推。

   | A | B | C |
---|---|---|---|
 1 |   |   |   |
 2 |   |   |   |
 3 |   |   |   |
 4 |   |   |   |
Run Code Online (Sandbox Code Playgroud)

像这样的东西:

Loop (from i = 1 to i = 4)
    if (Ci == "Some text")
        sum += (Ai * Bi)
Run Code Online (Sandbox Code Playgroud)

我尝试过这个公式,但不起作用:

=SUMPRODUCT(A1:A4, B1:B4, IF(C1:C4="Some text", 1, 0))
Run Code Online (Sandbox Code Playgroud)

这给了我一些不正确的 sum编辑:确实有效,我是盲人。

=SUMPRODUCT(A1:A4, B1:B4, C1:C4="Some text")
Run Code Online (Sandbox Code Playgroud)

我做错了什么,我应该如何处理?


编辑:现在我看到条件=IF(test, then_value, otherwise_value)并不接受测试值的范围。
那么,如何才能存档呢?

编辑2:我是瞎子。事实上,这有效:

=SUMPRODUCT(A1:A4, B1:B4, …
Run Code Online (Sandbox Code Playgroud)

worksheet-function libreoffice conditional-statements

3
推荐指数
1
解决办法
3164
查看次数

Windows 7 搜索:多个条件“找到不包含这个和那个的这个大小的文件夹”

Windows 7 搜索允许查找特定文件类型并使用某些运算符(例如 AND OR NOT)排除某些文件,但是如何在以下示例中添加多个搜索条件

例 1:此查询不起作用: type:folder size:tiny

EX 2:使用此查询搜索不包含扩展名的文件夹也不起作用: type:folder NOT *.avi

Ex 3:因此,搜索不包含此或此扩展名的文件夹无法工作: type:folder NOT *.avi NOT *rartype:folder NOT(*.avi *rar)

search windows-7 windows-search conditional-statements

3
推荐指数
1
解决办法
2157
查看次数

Excel:有条件的 COUNTIF?

=COUNTIF(A:A;"foobar")该如何进化,以便如果 A 列中的单元格为空,它会在 B 列中查找(对于“foobar”)?

microsoft-excel countif conditional-statements

1
推荐指数
1
解决办法
122
查看次数