Jeg utviklet et Java-program. Jeg delte applikasjonen i 5 underprogrammer, og opprettet en serviceomslag til hver underapplikasjon ved hjelp av skallskript:
subaap1/bin/app.sh subaap2/bin/app.sh ...  Nå vil jeg lage et oppstartsskript startup.sh for å utføre alle innpakningsskriptene: 
#!/bin/bash sh subaap1/bin/app.sh start sh subaap2/bin/app.sh start ... Men når jeg kjører den får jeg:
Uventet kommando: start
Hvordan kan jeg fikse dette?
Kommentarer
- Så vidt jeg kan se, kommer den feilen fra applikasjonen din. Hvilken kommando skriver du for å bare kjøre subaap1?
Svar
Du trenger ikke å bruke sh i skriptet ditt for å kjøre underapplikasjonene dine.
Bare bruk:
#!/bin/bash subaap1/bin/app.sh start subaap2/bin/app.sh start ... Oppdatert i henhold til kommentarene nedenfor:
versjonen din skal fungere, men du trenger å vite hva shell sh ringer. Det kan være at du har feil skall, eller tillatelsene på appene dine er feil for skallet du prøver å bruke.
Kommentarer
-  Er du sikker? bashvil føre argumentene videre til skriptet du ' kjører igjen (at ' er det som minsher koblet til); Jeg har ikke ' vet ikke om andre skjell
- @Michael – vil det passere dem hvis du bruker sh? Du kan ha rett – jeg gjør bare ikke ' det på den måten. Jeg omgir alltid mine i sitater hvis jeg vil gjøre det. Eller som her, jus t fjerne sh og bash antar gjerne at linjen er et program.
-  Jeg har prøvd å utføre subaap1/bin/app.sh startfra kommandolinjen, og det fungerer perfekt. Nå endrer jeg skallskriptet utenshmen jeg fikkstartup.sh: line 2: subaap1/bin/app.sh: Permission denied. Noe forslag sir?
-  Ja, jeg prøvde sh /path/to/shell/script argog argumenterte det. Det kan avhenge av hvilket skallshsom faktisk er koblet til skjønt
- @Michael – godt poeng! sh kunne gå et annet sted enn bash.