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


3
เชลล์รู้จักบ้านได้อย่างไร?
แต่ละเปลือกมีตัวแปรสภาพแวดล้อม $ ชุดแรก (เช่น: /Users/lotolo) ถ้าฉันอยู่ภายใต้ csh ฉันสามารถunsetenv HOMEและยังถ้าฉันcdฉันจะอยู่ในบ้านของฉัน ฉันได้ทดสอบสิ่งนี้ด้วย bash ( unset HOME) และมันก็เป็นพฤติกรรมเดียวกัน แล้วเชลล์รู้ได้อย่างไรว่าบ้านของฉัน / other_user อยู่ที่ไหน? มันอ่านค่าเหล่านั้นที่ไหน? สิ่งนี้ไม่ซ้ำกันเนื่องจากคำถามของฉันไม่ใช่ฉันจะรู้ได้อย่างไร แต่เชลล์รู้HOMEได้อย่างไร และพฤติกรรมนี้ก็ขยายไปถึงผู้ใช้รายอื่นเช่นกัน
25 bash  cd-command  home  tcsh  csh 

2
มีปัญหากับเครื่องหมายขีดคั่นในฟังก์ชันนามแฝงและไฟล์เรียกทำงานหรือไม่?
ในการทดสอบของฉัน (ใน Bash และ Z Shell) ฉันไม่เห็นปัญหาเกี่ยวกับการกำหนดฟังก์ชั่นหรือชื่อแทนหรือสคริปต์เชลล์ปฏิบัติการที่มียัติภังค์ในชื่อ แต่ฉันไม่มั่นใจว่าสิ่งนี้จะใช้ได้ในทุกเชลล์และทุกกรณี . เหตุผลที่ฉันต้องการทำเช่นนี้ก็คือยัติภังค์พิมพ์ได้ง่ายกว่าขีดล่างและเร็วกว่าและราบรื่นกว่า เหตุผลหนึ่งที่ฉันลังเลที่จะเชื่อว่ามันไม่ใช่ปัญหาคือในบางภาษา (ตัวอย่างเช่นทับทิม) ยัติภังค์จะถูกตีความว่าเป็นเครื่องหมายลบแม้ไม่มีที่ว่างรอบ ๆ มันจะไม่แปลกใจเลยถ้าบางสิ่งเช่นนี้อาจเกิดขึ้นในหอยบางตัวซึ่งยัติภังค์ถูกตีความว่าเป็นการส่งสัญญาณตัวเลือกแม้ไม่มีพื้นที่ อีกเหตุผลที่ฉันสงสัยอยู่เล็กน้อยว่าตัวแก้ไขข้อความของฉันทำให้ไวยากรณ์ที่เน้นสำหรับฟังก์ชันกับยัติภังค์เพิ่มขึ้น (แต่แน่นอนว่าเป็นไปได้ทั้งหมดที่เป็นเพียงข้อบกพร่องในการเน้นการกำหนดค่าไวยากรณ์สำหรับเชลล์สคริปต์) มีเหตุผลใดที่จะหลีกเลี่ยงยัติภังค์หรือไม่?
25 bash  shell  zsh  ksh  csh 

3
เป็นไปได้ไหมที่จะกำหนดตัวหนอนใหม่ ('~', โฮมไดเร็กตอรี่)?
เป็นไปได้ที่จะกำหนดไดเรกทอรีบ้านใหม่ เช่นการ/ext1/usernameแทน/home/usernameเช่นการขยาย~ไปยังไดเรกทอรีอื่น (เมื่อเทียบกับการเปลี่ยนแปลงไดเรกทอรีบ้านที่เกิดขึ้นจริงที่ผู้ใช้ไฟล์ที่บ้านตั้งอยู่) (คำถามนี้เป็นคำถามเชิงวิชาการส่วนใหญ่ดูเหมือนจะเป็นการกระทำที่ไม่ดีที่จะทำเช่นนั้นฉันไม่มีทางเลือกในเรื่องของการใช้cshแม้จะอ่าน 10 อันดับแรก)
13 solaris  home  csh 

3
การเปลี่ยนเส้นทาง stderr ไม่ทำงานใน csh
ฉันเรียกใช้คำสั่งต่อไปนี้: pkg_add emacs-23.4,2.tbz 2> output.log เอาต์พุตยังคงแสดงในเทอร์มินัล เมื่อฉันกด↑ฉันได้รับ pkg_add emacs-23.4,2.tbz 2 > output.log 2ก่อนที่จะมีพื้นที่ที่ ฉันไม่ได้ใส่เดิม ฉันลอง pkg_add emacs-23.4,2.tbz > output.log 2>&1 อีกครั้งเมื่อกด↑, พื้นที่ได้รับการเพิ่ม ทำไมสิ่งนี้ถึงเกิดขึ้นกับฉัน ฉันใช้ csh กับ FreeBSD
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.