GNU/Linux >> LINUX-Kenntnisse >  >> Linux

URL, die eine Zeichenfolge in Bash-Skript codiert

Unter CentOS wird kein zusätzliches Paket benötigt:

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

Erweiterung der sehr hilfreichen Antwort von Rockallite für Python 3 und mehrzeilige Eingabe aus einer Datei (diesmal auf Ubuntu, aber das sollte keine Rolle spielen):

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

Dadurch werden alle Zeilen der Datei zu einer einzigen URL verkettet, wobei die Zeilenumbrüche durch %0A ersetzt werden .


Sie wollen $MESSAGE in doppelte Anführungszeichen zu setzen, damit die Shell es nicht in einzelne Wörter aufteilt, und es dann als Argument an PHP weitergibt:

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

Linux
  1. Kann ein Bash-Skript mit einer Datei verknüpft werden?

  2. Bash-Skript zum Ausfüllen einer Vorlage?

  3. Alternativen --config Java-Bash-Skript

  4. Basisname mit Leerzeichen in einem Bash-Skript?

  5. Führen Sie das Bash-Skript als Daemon aus

Bash Strings verketten

Ersetzen von Zeichenfolgen in Bash

35 Bash-Skriptbeispiele

Bash-Scripting – String-Manipulation

So führen Sie ein Bash-Skript aus

Überprüfen Sie, ob einer der Parameter eines Bash-Skripts mit einer Zeichenfolge übereinstimmt