Command line Zsh在一行中执行两个命令,与成功无关

Command line Zsh在一行中执行两个命令,与成功无关,command-line,zsh,Command Line,Zsh,我想在一行中执行两个命令,与前一个命令的失败或成功无关,因此我知道|和&&将不起作用。在这种情况下我能做什么?如果成功,我希望shell等待第一个命令完成;因此也不起作用 编辑:很抱歉,shell将是zsh,我运行一个shell脚本,向不同的屏幕发送命令,如下所示: #! /bin/zsh ### Script for running everything in screens ### ### System argument screen name suffix ### echo You hav

我想在一行中执行两个命令,与前一个命令的失败或成功无关,因此我知道
|
&&
将不起作用。在这种情况下我能做什么?如果成功,我希望shell等待第一个命令完成;因此
也不起作用

编辑:很抱歉,shell将是
zsh
,我运行一个shell脚本,向不同的屏幕发送命令,如下所示:

#! /bin/zsh
### Script for running everything in screens ###
### System argument screen name suffix ###
echo You have the following screens running:
screen -ls
sigarr=(NM1 NM2 NM3 Scenario4 Scenario6)
puarr=(50PU 140PU)
lumarr=(30 300 3000)
echo Please type 1 for 50PU samples and 2 for 140PU samples
read PU
if [[ $PU -ne 1 && $PU -ne 2 ]] ; then
    echo You have to enter 1 or 2
    return 1
fi

echo Please type 1 for 300fb-1 and 2 for 3000fb-1
read lum

if [[ $lum -ne 1 && $lum -ne 2 ]] ; then
    echo You have to enter 1 or 2
    return 1
fi

if [ $PU = 1 ]; then
    let "lum = $lum + 1"
    #echo $lum
fi

ex NEWrunReader.py  <<EOEX
  :43s/Lumi.*/Lumi=$lumarr[lum]/
  :x
EOEX

echo Compiling the reader file!!!
root -l << EOF
.L readerSummerStd.C+
EOF

if [ $PU = 2]; then
    let "lum = $lum + 1"
fi

echo Press any key to proceed or Ctrl+C to abort!
read 


for sigind in $sigarr
do
    screen -dmS "${sigind}_${lumarr[lum]}_${puarr[PU]}_${1}" 
    sleep 0.1
    screen -S "${sigind}_${lumarr[lum]}_${puarr[PU]}_${1}" -p 0 -X stuff "./NEWrunReader.py SummerStd $puarr[PU]_$sigind $1 >& "${sigind}_${lumarr[lum]}_${1}".txt &;exit"$'\r'
done
return 0
#/bin/zsh
###用于在屏幕中运行所有内容的脚本###
###系统参数屏幕名称后缀###
echo您可以运行以下屏幕:
屏幕-ls
sigarr=(NM1 NM2 NM3场景4场景6)
puarr=(50PU-140PU)
卢马尔=(30 300 3000)
echo请键入1表示50PU样品,键入2表示140PU样品
读普
如果[$PU-ne 1和$PU-ne 2]];然后
您必须输入1或2
返回1
fi
echo请为300fb-1键入1,为300fb-1键入2
读卢姆
如果[$lum-ne 1和$lum-ne 2]];然后
您必须输入1或2
返回1
fi
如果[$PU=1];然后
设“lum=$lum+1”
#回音$lum
fi

ex NEWrunReader.py使用|或代替usng | |或&

使用|或代替usng | |或&

使用|或代替usng |或&

使用|或代替usng |或&

对于zsh,尤其是在mac上,它是:; 从终点站试试看

sleep 3 ; echo "hello"

将有3秒的延迟,然后它将为zsh打印hello

,特别是在mac上,它是; 从终点站试试看

sleep 3 ; echo "hello"

将有3秒的延迟,然后它将为zsh打印hello

,特别是在mac上,它是; 从终点站试试看

sleep 3 ; echo "hello"

将有3秒的延迟,然后它将为zsh打印hello

,特别是在mac上,它是; 从终点站试试看

sleep 3 ; echo "hello"


将有3秒钟的延迟,然后它将打印hello

请解释<代码>在执行第二个命令之前等待第一个命令。为什么这不起作用划分了两个命令,它们一个接一个地运行正是您想要的<代码>&
不是。@DarkFalcon I将左侧命令的输出重定向到一个文件中,并键入
exit
作为第二个命令;它表示您有
zsh:您有正在运行的作业。
并且不会退出。我不希望我提交的作业被中断。这与
无关。这意味着您在某个地方使用了不正确或不正确的
&
。请解释<代码>在执行第二个命令之前等待第一个命令。为什么这不起作用划分了两个命令,它们一个接一个地运行正是您想要的<代码>&
不是。@DarkFalcon I将左侧命令的输出重定向到一个文件中,并键入
exit
作为第二个命令;它表示您有
zsh:您有正在运行的作业。
并且不会退出。我不希望我提交的作业被中断。这与
无关。这意味着您在某个地方使用了不正确或不正确的
&
。请解释<代码>在执行第二个命令之前等待第一个命令。为什么这不起作用划分了两个命令,它们一个接一个地运行正是您想要的<代码>&
不是。@DarkFalcon I将左侧命令的输出重定向到一个文件中,并键入
exit
作为第二个命令;它表示您有
zsh:您有正在运行的作业。
并且不会退出。我不希望我提交的作业被中断。这与
无关。这意味着您在某个地方使用了不正确或不正确的
&
。请解释<代码>在执行第二个命令之前等待第一个命令。为什么这不起作用划分了两个命令,它们一个接一个地运行正是您想要的<代码>&
不是。@DarkFalcon I将左侧命令的输出重定向到一个文件中,并键入
exit
作为第二个命令;它表示您有
zsh:您有正在运行的作业。
并且不会退出。我不希望我提交的作业被中断。这与
无关。这意味着你在某个地方使用了不正确或不正确的
&
。如果失败,它也会退出吗?@Vesnog-不确定你在问什么?@Vesnog我刚刚看到你对这个问题的更新。是不是你想同时运行两个屏幕?如果失败它也会退出吗?@Vesnog-不确定你在问什么?@Vesnog我刚刚看到你对这个问题的更新。是不是你想同时运行两个屏幕?如果失败它也会退出吗?@Vesnog-不确定你在问什么?@Vesnog我刚刚看到你对这个问题的更新。是不是你想同时运行两个屏幕?如果失败它也会退出吗?@Vesnog-不确定你在问什么?@Vesnog我刚刚看到你对这个问题的更新。您是否希望同时运行两个屏幕?