2014-11-25 71 views
-2

我想在bash循環中運行幾個命令,我如何才能正確實現這個目標?你可以看到我在下面試過但在執行第一個命令之後,它退出了循環。什麼是正確的做法?在此先感謝您的幫助。bash循環中的幾個命令

for sample in 2 3 27 28 32 
do 
command1 
command2 
command3 
done 
+5

您需要提供有關正在運行的實際命令以及您嘗試執行的完整腳本的更多詳細信息。你的代碼示例是正確的,這是在循環中運行命令的方式;但可能由於以下幾個原因而退出:'set -e','exec'命令,'break'等。 – pgl 2014-11-25 09:44:19

+0

按預期在此工作。 http://pastebin.com/0BZVuqp7 – tripleee 2014-11-25 11:13:57

+2

由於僞代碼起作用,請顯示**實際代碼**。 – l0b0 2014-11-25 12:22:58

回答

1

由於問題works僞代碼,這裏有一些基於對環境可能存在的問題和command1內容:

  • 腳本與errexit集運行,而退出代碼command1非零。要測試此功能,請嘗試echo "$-" - 如果此處有e,則設置errexit
  • shell是FUBAR。其他人可以修改shell嗎?
  • 在某個地方有一個瘋狂的alias,使command1運行的東西不是您認爲正在運行的東西。
  • command1運行breakexitcontinue(或return,如果它在一個函數)。