Lệnh này có đầu ra trống.Cách xác định biến môi trường trong lệnh nhập của su
su user -c "ABC=abc;echo $ABC"
Bất kỳ ý tưởng nào, làm cách nào để xác định biến trong lệnh nhập?
Lệnh này có đầu ra trống.Cách xác định biến môi trường trong lệnh nhập của su
su user -c "ABC=abc;echo $ABC"
Bất kỳ ý tưởng nào, làm cách nào để xác định biến trong lệnh nhập?
Thay đổi dấu ngoặc kép thành dấu nháy đơn. Dấu ngoặc kép cho phép biến được thay thế trong môi trường hiện tại mà nó chưa được đặt. Để xem sự khác biệt, hãy thử phiên bản của bạn với $USER
và so sánh phiên bản này với phiên bản này:
Nếu sử dụng một biến thể bourne shell:
ABC=abc su user -c 'echo $ABC'
Nếu không, sử dụng env.
env ABC=abc su user -c 'echo $ABC'
Cảm ơn câu trả lời, nó hoạt động nhưng đó không chính xác là tôi cần. Tôi có một chuỗi đầu vào khá dài cho lệnh su và tôi phải xác định giá trị của biến là "người dùng". –