Score:3

คำถามเกี่ยวกับพฤติกรรมการทุบตีด้วยโหมดไม่โต้ตอบ

ธง pl

โดยพื้นฐานแล้วฉันต้องเข้าใจพฤติกรรมต่อไปนี้:

$เสียงสะท้อน $SHELL
/ถัง/ทุบตี
$ bash -c echo $SHELL

bash -c echo $SHELL สร้างผลลัพธ์ที่ว่างเปล่าและสิ่งนี้ทำให้ฉันสับสนเพราะฉันคาดว่าจะตั้งค่า SHELL สิ่งนี้เป็นจริงสำหรับ $BASH_VERSION เช่นกัน

ใครช่วยอธิบายเรื่องนี้ให้ฉันฟังได้ไหม

ขอบคุณที่สละเวลา!

Score:7
ธง hr

จาก ผู้ชายทุบตี:

   -c หากมีอ็อพชัน -c อยู่ คำสั่งจะถูกอ่านจากไฟล์
             command_string อาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกแรก หากมีข้อโต้แย้งâ
             ment หลัง command_string อาร์กิวเมนต์แรกจะเป็นâ
             ลงชื่อเป็น $0 และอาร์กิวเมนต์ที่เหลือถูกกำหนดให้กับ
             พารามิเตอร์ตำแหน่ง

ใน bash -c echo $SHELL, "อาร์กิวเมนต์ที่ไม่ใช่ตัวเลือกแรก" เป็น เสียงสะท้อน, ในขณะที่ $เปลือก ถูกขยายโดยเชลล์แบบโต้ตอบปัจจุบันของคุณและส่งต่อไปยัง ทุบตี เป็นพารามิเตอร์ตำแหน่ง $0. เนื่องจาก เสียงสะท้อน ไม่มีข้อโต้แย้ง นั่นเอง, ทุบตี -c เสียงสะท้อน พิมพ์สตริงว่าง ในขณะเดียวกัน, $0 ถูกตั้งค่าเป็น /ถัง/ทุบตี แต่เพิกเฉย

คุณสามารถทำได้ทั้งนี้ขึ้นอยู่กับสิ่งที่คุณพยายามทำ

ทุบตี -c 'echo $SHELL'

ซึ่งผ่านไป สะท้อน $SHELL เช่น command_string ไปยัง bash shell แบบไม่โต้ตอบ (ส่งออกค่าของเชลล์ที่ไม่ใช่แบบโต้ตอบ $เปลือก), หรือ

bash -c 'echo $0' $SHELL

ซึ่งผ่าน (การขยายตัวของ) เชลล์แบบโต้ตอบ $เปลือก ไปยัง bash shell แบบไม่โต้ตอบเป็น $0แล้วสะท้อนค่าของมัน

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา