> echo "hi"
hi
> VAR='echo "hi"'
> $VAR
"hi"
ทำไมเอาต์พุตของคำสั่งด้านบนจึงแตกต่างกัน?
สิ่งที่คล้ายกันเกิดขึ้นกับคำพูดเดียว:
> VAR="echo 'hi'"
> $VAR
> 'hi'
at
) คือรหัส เคล็ดลับใด ๆ เกี่ยวกับวิธีที่ปลอดภัยในการจัดระเบียบ / รหัสเก็บว่าจะได้รับat
?
at
ใช้sh
ไวยากรณ์เป็นอินพุต ดังนั้นการสร้างอินพุตสำหรับat
หมายถึงการสร้างsh
ไวยากรณ์ที่ถูกต้องและมีการอ้างอิงอย่างเหมาะสมจากอินพุตโดยพลการซึ่งไม่สำคัญดังนั้นฉันจึงพยายามหลีกเลี่ยงหากเป็นไปได้ทั้งหมด มันจะช่วยได้จริงๆถ้าคุณสามารถให้รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับสิ่งที่คุณพยายามทำ
at
สำหรับให้ "เวลา" และบอกว่าจะเรียกใช้คำสั่ง at
ใช้ "ข้อความ" จาก stdin และยังใช้พารามิเตอร์แบบคงที่อื่น ๆ ปัญหาคือฉันต้องไพพ์พารามิเตอร์ "ข้อความ" จากผู้ใช้ลงในคำสั่ง แต่ฉันไม่ได้ใช้งานตัวเองจริง ๆฉันกำลังบอกให้ทำ dzen2
dzen2
dzen2
dzen2
at
eval
เป็นช่องโหว่ของความปลอดภัยที่อาจเกิดขึ้นซึ่งคุณต้องเหยียบอย่างระมัดระวัง