GNU/Linux >> Belajar Linux >  >> Linux

URL yang menyandikan string dalam skrip bash

Di CentOS, tidak diperlukan paket tambahan:

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

Memperluas jawaban Rockallite yang sangat membantu untuk Python 3 dan input multiline dari sebuah file (kali ini di Ubuntu, tetapi itu tidak masalah):

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

Ini akan menghasilkan semua baris dari file digabungkan menjadi satu URL, baris baru diganti dengan %0A .


Anda ingin $MESSAGE berada dalam tanda kutip ganda, sehingga shell tidak akan membaginya menjadi kata-kata terpisah, lalu meneruskannya ke PHP sebagai argumen:

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

Linux
  1. Bisakah Skrip Bash Dihubungkan ke File?

  2. Bagaimana Cara Men-debug Skrip Bash?

  3. Cara Memisahkan String dalam Skrip Bash

  1. Skrip Bash - Contoh Halo Dunia

  2. Jalankan skrip bash sebagai daemon

  3. Pencocokan pola skrip Bash

  1. Typeset -a Apakah Memberikan Kesalahan Dalam Script?

  2. Script Bash Untuk Mengisi Template?

  3. Jalankan perintah bash pada pipa jenkins