tôi thực hiện bash script sau:Làm thế nào để sử dụng một biến bash script với sed
#!/bin/bash
version=$1
echo $version
sed 's/\${version.number}/$version/' template.txt > readme.txt
Tôi đang chờ đợi để thay thế tất cả các trường hợp của $ {} version.number với các nội dung của "phiên bản" biến . Thay vào đó, phiên bản văn bản bằng chữ $ đang được chèn vào.
Tôi cần làm gì để làm cho sed sử dụng giá trị hiện tại của $ phiên bản thay thế?
Nhưng ký hiệu đô la phải được thoát vì biểu thức được coi là regex bằng 'sed'. Vì vậy, tôi nghĩ rằng nó phải là '\\ $'. – Philipp
@Philipp, trên thực tế ký hiệu '$' chỉ là một neo khi nó là ký tự cuối cùng của regex (hoặc có thể là biểu thức con). Nhưng tôi thừa nhận tôi đã may mắn. ;) Bạn có thể tùy chọn thêm dấu gạch chéo đã thoát, nhưng sau đó là '\\\ $'. –
Cảm ơn bạn đã sửa. – Philipp