我一直在到处寻找应该是一个简单的例子。第一次尝试为 zsh 编写脚本,现在 MacOS 已切换为默认值 - 如何比较 if 语句中的两个字符串?我尝试了以下操作,但仍然收到错误no matches found: [foo==foo]
if ["foo"=="foo"]
then
echo "True"
else
echo "False"
fi
Run Code Online (Sandbox Code Playgroud) 试图让一个变量遇到一个长度不同的文本字符串。字符串中重要的部分是前几个字符。
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 脚本,它需要根据端口 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 和 &,但我不知道最佳做法是什么?)
非常感谢
到目前为止,我已经设法将单元格 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) $ 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) 如果满足第三个相邻单元格的条件,我想将同一行中的两个单元格相乘;然后将结果与下一行中的下一个乘积相加(如果满足条件),依此类推。
| 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) Windows 7 搜索允许查找特定文件类型并使用某些运算符(例如 AND OR NOT)排除某些文件,但是如何在以下示例中添加多个搜索条件?
例 1:此查询不起作用: type:folder size:tiny
EX 2:使用此查询搜索不包含扩展名的文件夹也不起作用: type:folder NOT *.avi
Ex 3:因此,搜索不包含此或此扩展名的文件夹无法工作:
type:folder NOT *.avi NOT *rar
或type:folder NOT(*.avi *rar)
我=COUNTIF(A:A;"foobar")
该如何进化,以便如果 A 列中的单元格为空,它会在 B 列中查找(对于“foobar”)?