Saya tahu pertanyaannya sepertinya harus didiskusikan ribuan kali sebelumnya. Tetapi entah bagaimana saya tidak dapat menemukan solusi yang baik.
Masalah: Saya perlu menulis teks multiline dari shell. Teks mungkin berisi urutan karakter khusus (mulai dari $) dan saya tidak ingin menghindarinya. Bagaimana cara melakukannya?
Saat ini saya menggunakan kucing:
cat <<TAGTEXTFILE > sometext.txt
Here is some text in which I don't want to escape sequences like: $().
I just want to see this text in this script exactly as
it will look in resulting sometext.txt file.
TAGTEXTFILE
Tetapi dengan kucing saya harus melarikan diri ini: $ (). Bagaimana cara menulis teks multiline tanpa keluar dari karakter khusus? Tolong jangan menawarkan untuk menggunakan Python, saya butuh solusi shell (bash atau dash).
1
Apa sistemmu? saya tidak dapat mereproduksi masalah Anda di tambang (Ubuntu 12.04 dan Debian 5). Salin / tempel kode Anda berfungsi seperti pesona ...
—
user2196728
@ user2196728 berfungsi, tetapi tidak akan berfungsi jika ada $ PWD di dalamnya, misalnya. itu intinya
—
Robin Green
Apakah Anda ingin
—
terdon
$PWD
diperluas (suka /home/vladimir/foo/
) atau tidak?
Ya, tepat sekali. Sampel saya bukan dari kehidupan nyata, saya baru saja mengubahnya. Jadi '$ ()' muncul dalam skrip tetapi tidak dalam file teks yang dihasilkan. Saya mengerti mengapa, saya hanya tidak membutuhkan fungsi ini. Sebenarnya saya tidak ingin ekspansi, atau $ PWD maupun $ (...) perintah dan masih perlu cara mudah untuk menulis teks multiline.
—
vladimir