web-dev-qa-db-fra.com

Exécuter le programme à partir d'un script Shell mais se comporter comme un seul processus?

Est-il possible d'exécuter une application à partir d'un script Shell sans créer un autre processus? Je veux qu'il ressemble à un processus seulement . Peu importe que mon script Shell soit remplacé par un nouveau processus ou qu'il continue après la fin d'une application appelée.
Cela devrait également résoudre ma question précédente: https://askubuntu.com/questions/247632/). -app
Merci beaucoup pour votre aide.

11
zubozrout

Vous pouvez utiliser la commande exec:

$ help exec
exec: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
    Replace the Shell with the given command.

    Execute COMMAND, replacing this Shell with the specified program.
    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,
    any redirections take effect in the current Shell.

    Options:
      -a name   pass NAME as the zeroth argument to COMMAND
      -c        execute COMMAND with an empty environment
      -l        place a dash in the zeroth argument to COMMAND

    If the command cannot be executed, a non-interactive Shell exits, unless
    the Shell option `execfail' is set.

    Exit Status:
    Returns success unless COMMAND is not found or a redirection error occurs.

Exemple:

user@Host:~$ PS1="supershell$ "
supershell$ bash
user@Host:~$ PS1="subshell$ "
subshell$ exec echo hello
hello
supershell$ 

Comme vous pouvez le constater, le sous-shell est remplacé par echo.

7
Andrea Corbellini