小编Jor*_*rdo的帖子

bash while 循环中 OR 条件的语法

我尝试了许多不同的小括号、引号、、、的组合||-o但脚本在没有无限循环的情况下工作的唯一方法是没有 while 循环比较中的 OR,如下所示:while [ $name != Jorge ]] ; do ...这是我想要运行的脚本的示例:

#!/bin/bash
echo "What is my name: "
read name

while [ $name != "Jorge" ] || [ $name != "Eduardo" ] ; do    
    echo "Not. Try again: "
    read name
done

echo "Well done!"
Run Code Online (Sandbox Code Playgroud)

bash logic while-loop

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

替换换行符并与 SED 一起删除换行符

我在这些词之间有标签(五个):

cat dog

我想要这个输出:

猫
狗

我试过这个:sed 's/\t/\n/g; /^$/d' pets 输出与以下相同sed 's/\t/\n/g' pets

猫




狗

我不得不执行 sed 两次才能得到我想要的。这就像sed 's/\t/\n/g' pets>tempsed '/^$/d' temp

有没有办法用一个命令获得所需的输出?

bash sed

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

标签 统计

bash ×2

logic ×1

sed ×1

while-loop ×1