J'ai un simple script python qui reçoit le nom d'utilisateur et le mot de passe comme argument. Mais mon mot de passe contient deux exclamation marks.When i scénario appelle:Comment passer argument avec point d'exclamation sur Linux?
[email protected]:~/Desktop/$ emailsender.py -u username -p pass!!commande
que je rentre remplacer plus tôt points d'exclamation
[email protected]:~/Desktop/$emailsender.py -u username -p "passemailsender.py -u username -p passwget wget http://www.crobot.com.hr/templog"
Je peux échapper à des points d'exclamation avec barre oblique inverse (\) mais mes changements de mot de passe. Y at-il une solution pour cela, comment puis-je échapper aux points d'exclamation sans changer le mot de passe?
La deuxième commande ne fait pas beaucoup de sens, qu'est-ce que vous essayez de faire là-bas ?? Spécialement le 'passemailsender.py -u nom d'utilisateur -p passwget wget ...' partie – adamJLev
!! est substitué par le shell, il est remplacé par la dernière commande exécutée. Ce n'est pas spécifique à python. –
@Infinity - Bash interprète "!!" comme la dernière commande que vous avez entrée. Ainsi, quand il entre dans la commande sans échapper son mot de passe en utilisant des guillemets simples ou des barres obliques inverses, bash insère sa dernière commande où le "!!" était. –