Unix 等待(ksh中的N进程结束,然后运行另一个进程)无法正常工作
我的剧本是:Unix 等待(ksh中的N进程结束,然后运行另一个进程)无法正常工作,unix,command-line,ksh,Unix,Command Line,Ksh,我的剧本是: #!/bin/ksh WORKFLOW1=wf_m_LOAD_ODS_DMT_FATTO_E_BSN_LETTURE_F WORKFLOW2=wf_m_LOAD_ODS_DMT_FATTO_E_ANAGRAFICA_POD_F WORKFLOW3=wf_m_LOAD_ODS_DMT_FATTI_E_QF_F pmcmd startworkflow -sv $SERVER -d $DOMINIO -u $USER -p $PASSWD -f $DIRECTORY_SEC_LEV_E
#!/bin/ksh
WORKFLOW1=wf_m_LOAD_ODS_DMT_FATTO_E_BSN_LETTURE_F
WORKFLOW2=wf_m_LOAD_ODS_DMT_FATTO_E_ANAGRAFICA_POD_F
WORKFLOW3=wf_m_LOAD_ODS_DMT_FATTI_E_QF_F
pmcmd startworkflow -sv $SERVER -d $DOMINIO -u $USER -p $PASSWD -f $DIRECTORY_SEC_LEV_ELE $WORKFLOW1 & pmcmd startworkflow -sv $SERVER -d $DOMINIO -u $USER -p $PASSWD -f $DIRECTORY_SEC_LEV_ELE $WORKFLOW2 & pmcmd startworkflow -sv $SERVER -d $DOMINIO -u $USER -p $PASSWD -f $DIRECTORY_SEC_LEV_ELE $WORKFLOW3 &;
wait;
echo "Lancio creazione indici T_DMT_SEE_FT_BSN_LETTURE">>log_DMT_R1.log
sqlplus $USERDBDMT/$PASSDBDMT@$SIDDB @create_index_T_DMT_SEE_FT_BSN_LETTURE.sql &
我有一个错误:
./Start_lancio_unico_ELE_DMT_INFASAMENTO_FT.sh: line 27: syntax error near unexpected token `;'
./Start_lancio_unico_ELE_DMT_INFASAMENTO_FT.sh: line 27: `pmcmd startworkflow -sv $SERVER -d $DOMINIO -u $USER -p $PASSWD -f $DIRECTORY_SEC_LEV_ELE $WORKFLOW1 &;'
为什么,;这是不对的
我想在后台运行3个进程,完成后运行第3个进程
多亏了all,这似乎是bash错误,而不是ksh错误。您如何调用脚本
$ cat script.sh
#!/usr/bin/ksh
sleep 5 &;
wait;
echo done
$ ksh script.sh
done
$ bash script.sh
script.sh: line 2: syntax error near unexpected token `;'
script.sh: line 2: `sleep 5 &;'
在bash中,∧都是命令终止符,两者都使用显然是错误的。参考:
列表是一个或多个管道的序列,由一个运算符“;”、“&”、“&&”分隔,或“| |”,并可选地以“;”、“&”之一终止,或者一条新线
emphasis mine您的错误表明您发布的代码不是实际脚本,因为它比27行短得多。