คำถามติดแท็ก shell

5
มันเป็นความคิดที่ดีที่จะเรียกคำสั่งเชลล์จากภายใน C หรือไม่?
มีคำสั่ง unix shell ( udevadm info -q path -n /dev/ttyUSB2) ที่ฉันต้องการโทรจากโปรแกรม C อาจใช้เวลาประมาณหนึ่งสัปดาห์ในการต่อสู้ฉันสามารถนำไปใช้ใหม่ได้ด้วยตัวเอง แต่ฉันไม่ต้องการทำเช่นนั้น เป็นที่ยอมรับอย่างกว้างขวางในทางปฏิบัติที่ดีสำหรับฉันเพียงแค่โทรpopen("my_command", "r");หรือว่าจะนำเสนอปัญหาความปลอดภัยที่ยอมรับไม่ได้และส่งต่อปัญหาความเข้ากันได้? ฉันรู้สึกผิดที่จะทำสิ่งนี้ แต่ฉันไม่สามารถบอกได้ว่าทำไมมันถึงไม่ดี
50 c  unix  shell 

3
ความแตกต่างระหว่าง REPL และเชลล์แบบโต้ตอบ
Noob คำถาม ฉันไม่สามารถบอกความแตกต่างระหว่างREPLและเชลล์เชิงโต้ตอบได้โดยการอ่านคำจำกัดความบน Wikipedia Wiki ตั้งข้อสังเกตว่า REPL เป็นเชลล์แบบโต้ตอบชนิดหนึ่งโดยเฉพาะ มันเป็นเซตย่อยที่เหมาะสมหรือไม่? คำจำกัดความของ Wiki ดูเหมือนว่าจะ จำกัด คำศัพท์ REPL เป็นภาษาที่เหมือนเสียงกระเพื่อมในขณะที่คุณสมบัติที่ระบุไม่ได้มีคุณสมบัติที่แตกต่างกันจริงๆ โดยเฉพาะอย่างยิ่งมันถูกต้องหรือไม่ที่จะโทรหา IPython a REPL?

12
การสัมภาษณ์ผู้ที่มีทักษะ unix ทั่วไป [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว คุณจะทดสอบนักพัฒนาที่อ้างว่ามีประสบการณ์เชลล์ * nix อย่างไร (เพื่อให้ชัดเจนเราไม่ต้องการทดสอบว่ามีใครสามารถพัฒนาบน * ระวังได้เฉพาะเมื่อพวกเขารู้วิธีรอบบรรทัดคำสั่ง) ฉันกำลังคิดที่จะทำให้พวกเขาแก้ปัญหาการลบข้อมูลออกจากไฟล์บันทึกซึ่งจะเกี่ยวข้องกับพื้นฐานบางอย่างเช่น cat, grep, cut, ... รวมกับ piping คุณต้องการความรู้พื้นฐานอะไรอีก นี่ไม่ใช่สำหรับการสัมภาษณ์คนที่จะพัฒนาสำหรับระบบ * nix และไม่ใช่สำหรับผู้ดูแลระบบ * nix แต่สำหรับนักพัฒนาทั่วไปที่บางครั้งต้องทำงานบางอย่างในระบบ * nix
20 interview  linux  unix  shell 

9
อะไรคือสาเหตุที่ทำให้ Windows ไม่เคยมีเชลล์ที่ดีมาก่อน [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันอ่านหัวข้อใน SO: ทำไมภาษาสคริปต์ (เช่น ... ) ไม่เหมาะกับภาษาของเชลล์? . โดยเฉพาะอย่างยิ่งผมชอบคำตอบโดยJörg W MittagWindows PowerShellจากการที่ผมได้เรียนรู้สิ่งที่น่าสนใจเกี่ยวกับ ดังนั้นหลังจากผ่านไปกว่า 20 ปี Windows ก็มีเชลล์ที่ออกแบบมาอย่างดี (Windows 1.0 - 1985, PowerShell เสถียร release - 2009) ในทางตรงกันข้ามระบบ Unix นั้นมีเชลล์จำนวนมากตั้งแต่ปี 1978 Bourne Shell ฉันได้อ่านบทความบางส่วนเกี่ยวกับการสัมภาษณ์งานของ MS และฉันรู้สึกประทับใจกับ บริษัท ที่ "น่ารัก" มาก ฉันสงสัยว่าทำไมพวกเขาถึงไม่ต้องการเครื่องมือบรรทัดคำสั่งเทียบกับคนที่ใช้ระบบปฏิบัติการยูนิกซ์ที่ทำงานด้วยเครื่องมือเหล่านั้น
19 windows  history  shell 

8
เชลล์สคริปต์มีข้อได้เปรียบอะไรบ้างในการใช้ภาษาโปรแกรมแปลความหมาย [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา (ฉันไม่แน่ใจว่าเป็นคำถามที่เหมาะสมหรือไม่ที่นี่) เชลล์สคริปต์เช่นเดียวกับที่เขียนไว้bashสามารถทำสิ่งต่างๆได้ พวกเขาสามารถเรียกโปรแกรม Unix, ไพพ์เอาท์พุท, เปลี่ยนเส้นทาง I / O จาก / ไปยังไฟล์, โฟลว์การควบคุม, ตรวจสอบว่ามีไฟล์อยู่หรือไม่ ฯลฯ แต่ภาษาการเขียนโปรแกรมที่ทันสมัยเช่นpythonและrubyสามารถทำสิ่งเหล่านี้ได้ และพวกเขา (ฉันคิดว่า) อ่านได้ง่ายขึ้นและบำรุงรักษาได้มากขึ้น bashสนุกกับการยอมรับอย่างกว้างขวาง แต่มีการแจกแจงจำนวนมากติดตั้งpythonล่ามเช่นกัน ดังนั้นข้อดีของเชลล์สคริปต์คืออะไร ถ้าฉันสามารถเขียนpython, rubyหรือperlเป็นมูลค่าที่จะเรียนรู้bash?

3
การกำหนดค่าผู้ใช้ของเชลล์สคริปต์ ปฏิบัติที่ดีที่สุด?
ฉันกำลังเขียนเชลล์สคริปต์ด้วยตัวแปรบางตัวที่ควรกำหนดค่าโดยผู้ใช้ จะมีโปรแกรมติดตั้งสำหรับดาวน์โหลดและกำหนดค่าสคริปต์โดยอาจถามคำถามหลายข้อ สคริปต์ที่เป็นปัญหานั้นมุ่งเป้าไปที่ผู้พัฒนารายอื่น สิ่งนี้สามารถนำไปใช้ได้หลายวิธี: ใช้ตัวยึดตำแหน่งในสคริปต์และใช้sedเพื่อแทนที่ในระหว่างการติดตั้ง (สิ่งนี้: /programming/415677/how-to-replace-placeholders-in-a-text-file ) ข้อดี: คำจำกัดความของตัวแปรทั้งหมดมีอยู่ในสคริปต์ ง่ายในการดาวน์โหลดสคริปต์ด้วยตนเองและกำหนดค่าตัวแปรสำหรับผู้ใช้ที่ต้องการตัวแก้ไขมากกว่าตัวติดตั้ง ข้อด้อย: มันยากที่จะกำหนดค่าตัวแปรใหม่ผ่านตัวติดตั้งเมื่อมีอยู่ นอกจากว่าฉันจะสร้าง regexp ที่ซับซ้อนมากขึ้นซึ่งจะมีแนวโน้มที่จะเกิดข้อผิดพลาด ใช้ไฟล์ configโดยทั่วไปแล้วเชลล์สคริปต์อื่นที่มีการมอบหมายและใช้sourceเพื่อรวมไฟล์นั้น (และอาจวางไว้ใน~/.scriptname? สคริปต์หลักถูกคัดลอกไปยัง/usr/local/bin) ข้อดี: ง่ายต่อการกำหนดค่าสคริปต์ใหม่ สามารถเพิ่มพารามิเตอร์สำหรับการทำเช่นนั้นได้จากสคริปต์หลัก (อาจเป็นไปได้ในโซลูชันแรกเช่นกัน แต่การแก้ไขสคริปต์จากตัวเองไม่ได้ฟังดูเหมือนเป็นความคิดที่ดีมาก) ข้อด้อย: สคริปต์นี้ขึ้นอยู่กับสองไฟล์และผู้ใช้จำเป็นต้องเรียกใช้โปรแกรมติดตั้งสำหรับไฟล์การกำหนดค่าที่จะสร้าง สิ่งนี้สามารถแก้ไขได้โดยการสร้างไฟล์ปรับแต่งอัตโนมัติหากไม่มีอยู่ แต่การค้นหาไฟล์กำหนดค่าภายนอกจะยังคงเป็นเรื่องยุ่งยากสำหรับผู้ใช้ที่ต้องการดาวน์โหลดสคริปต์แก้ไขและดำเนินการกับมัน นอกจากนี้ยังมีตัวเลือกเล็กน้อยเกี่ยวกับวิธีการจัดการการกำหนดค่าโดยผู้ใช้หลังการติดตั้ง: คอมไพล์เช่น $ myscript config server.host example.org $ myscript config server.proxypath / home / johndoe / proxy $ myscript config server.httppath …

4
เหตุใดจึงต้องใช้ฟังก์ชันว่าง
ฉันเริ่มเรียนรู้หลามและฉันสงสัยว่าทำไมฟังก์ชันว่างจึงจำเป็นต้องใช้ในภาษาการเขียนโปรแกรม เช่นในหลาม: def empty_func(): pass แม้ในเชลล์สคริปต์ฟังก์ชันว่างฟังก์ชันว่างมี ความเข้าใจและคำถามของฉัน: ทำไมภาษาการเขียนโปรแกรมจำเป็นต้องมีฟังก์ชั่นที่ว่างเปล่า? มันเป็นเพียงการเล่นกับภาษาโปรแกรมหรือไม่มีอะไรที่สำคัญจริงๆ? หากมีวัตถุประสงค์ใครสามารถอธิบายกรณีการใช้งานหรือให้ตัวอย่างจริงของการใช้ฟังก์ชันว่างเปล่าได้หรือไม่ หรือมีประเพณีของภาษาการเขียนโปรแกรมที่ช่วยให้ฟังก์ชั่นที่ว่างเปล่า? แก้ไข (สิ่งที่ฉันได้จากการอ่านคำตอบของคุณ): สำหรับขั้นตอนวิธีการร่างหรือฟังก์ชั่นบทคัดย่อ สำหรับการส่งแบบฟอร์มโดยไม่ต้องดำเนินการใด ๆ ตัวยึดสำหรับการดำเนินการบังคับบางอย่าง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.