GNU/Linux >> Tutoriels Linux >  >> Linux

URL encodant une chaîne dans un script bash

Sur CentOS, aucun package supplémentaire n'est nécessaire :

python -c "import urllib;print urllib.quote(raw_input())" <<< "$message"

Extension de la réponse très utile de Rockallite pour Python 3 et entrée multiligne à partir d'un fichier (cette fois sur Ubuntu, mais cela ne devrait pas avoir d'importance) :

cat any.txt | python3 -c "import urllib.parse, sys; print(urllib.parse.quote(sys.stdin.read()))"

Cela entraînera la concaténation de toutes les lignes du fichier en une seule URL, les nouvelles lignes étant remplacées par %0A .


Vous voulez $MESSAGE être entre guillemets doubles, afin que le shell ne le divise pas en mots séparés, puis le passe à PHP en tant qu'argument :

ENCODEDMESSAGE="$(php -r 'echo rawurlencode($argv[1]);' -- "$MESSAGE")"

Linux
  1. Un script Bash peut-il être accroché à un fichier ?

  2. Bash Script - Exemple Hello World

  3. Exécuter le script bash en tant que démon

  4. Correspondance de modèle de script bash

  5. Exécutez la commande bash sur le pipeline jenkins

Chaînes de concaténation bash

Remplacement de chaîne dans Bash

35 exemples de scripts bash

Script Bash - Manipulation de chaînes

Comment exécuter un script bash

Que fait 'bash -c' ?