Escaper Kata Sandi .env
Tulis kata sandi ke baris .env yang dibaca persis sama oleh shell, dotenv Node.js, python-dotenv, atau docker --env-file, termasuk tanda kutip dan $.
Setiap baris diberi tanda kutip sehingga parser membaca kembali persis kata sandi Anda: shell memakai kutip tunggal dengan '\'' untuk setiap kutip, dotenv Node memilih kutip tunggal, ganda, atau backtick, python-dotenv meng-escape \ dan \' di dalam kutip tunggal, dan docker --env-file mengambil sisa baris apa adanya (tanpa kutip).
Berjalan sepenuhnya di browser Anda. Data Anda tidak pernah diunggah.
Apa itu Escaper Kata Sandi .env?
Kata sandi dengan tanda kutip, tanda dolar, # atau backslash sering merusak file .env atau diubah oleh ekspansi variabel. Alat ini menulis baris KEY=value yang dibaca setiap parser persis sebagai kata sandi Anda, dan memperingatkan saat parser tidak bisa merepresentasikan nilainya.
Cara menggunakan Escaper Kata Sandi .env
- Masukkan Nama variabel, misalnya DB_PASSWORD.
- Ketik kata sandi ke kolom Kata sandi.
- Salin baris untuk target Anda: shell/POSIX, dotenv Node.js, python-dotenv, atau docker run --env-file.
- Tempel ke file .env Anda.
Contoh
Variabel DB_PASSWORD, kata sandi p@ss'w"rd$1
Shell: DB_PASSWORD='p@ss'\''w"rd$1' Node dotenv: DB_PASSWORD=`p@ss'w"rd$1` python-dotenv: DB_PASSWORD='p@ss\'w"rd$1' docker --env-file: DB_PASSWORD=p@ss'w"rd$1
Kapan menggunakan Escaper Kata Sandi .env
Pakai setiap kali rahasia memuat karakter selain huruf dan angka. Jika Anda mengendalikan rahasianya, nilai alfanumerik yang panjang menghindari masalah escape sepenuhnya.
Cara kerja Escaper Kata Sandi .env
Shell: nilai dibungkus kutip tunggal dan setiap ' menjadi '\'' (tidak ada ekspansi di dalam kutip tunggal). dotenv Node (v15+): kutip tunggal bersifat literal; jika nilai memuat ', dipakai kutip ganda (hanya \n dan \r yang diinterpretasikan), selain itu backtick; nilai yang berakhir dengan backslash atau memuat ketiga jenis kutip tidak bisa direpresentasikan. python-dotenv: kutip tunggal, dengan \ dan ' di-escape menjadi \\ dan \'. docker --env-file: tanpa kutip sama sekali; sisa baris adalah nilainya, sehingga baris baru mustahil.
Kasus Penggunaan Umum
- Menambahkan kata sandi database dengan $ dan tanda kutip ke file .env
- Menyiapkan rahasia untuk docker run --env-file
- Memperbaiki nilai dotenv yang terpotong di #
- Menulis pernyataan export untuk skrip shell
Pertanyaan Umum
Mengapa tidak pakai kutip ganda saja?
Di dalam kutip ganda, shell dan sebagian pemuat dotenv mengekspansi $VAR dan menginterpretasikan backslash, yang diam-diam mengubah kata sandi.
Mengapa baris docker --env-file tanpa kutip?
docker run --env-file tidak memproses kutip; kutip akan menjadi bagian dari nilai.
Apakah Docker Compose memakai aturan yang sama?
Parser .env Docker Compose punya aturan interpolasi sendiri yang tidak dimodelkan alat ini; periksa dokumentasi Compose atau pakai $$ untuk tanda dolar literal di sana.