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