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

1
“ set -” ทำอะไรในจุดเข้า Dockerfile นี้?
ฉันพยายามเข้าใจว่าจุดเข้าใช้งานนักเทียบท่านี้ทำอะไร ดูเหมือนว่าสำหรับฉันแล้วมันเป็นรูปแบบที่ธรรมดามากเมื่อเขียน Dockerfiles แต่ทักษะการทุบตีของฉันนั้นมี จำกัด นอกจากนี้มันยากที่ google สำหรับ "-", "$!" ฯลฯ สิ่งเหล่านี้เรียกว่าอะไรในโลกทุบตี? เพื่อสรุปสิ่งที่บรรทัดร้องพยายามทำคืออะไร? if [ "${1#-}" != "$1" ]; then set -- haproxy "$@" fi
41 shell-script  set 

4
ความหมายของ“ _ =” คืออะไร?
หลังจากที่ฉันเรียกใช้set -a var=99ฉันสามารถค้นหาประโยคในผลลัพธ์ของset: ... TERM=xterm UID=0 USER=root VIRTUAL_ENV_DISABLE_PROMPT=1 _=var=99 colors=/etc/DIR_COLORS ... ใครช่วยบอกฉันได้ว่า "_ =" หมายถึงอะไร ฉันทราบว่าecho $varจะไม่ให้อะไรเลย ถ้าฉันเรียกใช้set -aแล้วsetจะไม่รวมตัวแปรนี้อีก เกิดอะไรขึ้น?

4
ชุดคำสั่งที่ไม่มีอาร์กิวเมนต์ทำอะไร
อะไรsetคำสั่งโดยไม่ขัดแย้งทำอย่างไร อย่างที่ฉันเห็นมันพิมพ์ตัวแปรสภาพแวดล้อมของฉันเหมือนกับenvคำสั่ง แต่ตามลำดับตัวอักษร และยิ่งไปกว่านั้นมันยังพิมพ์ข้อมูลที่แตกต่างกัน (ฟังก์ชั่นตัวแปร?) เช่น: __git_printf_supports_v=yes __grub_script_check_program=grub-script-check ... quote () { local quoted=${1//\'/\'\\\'\'}; printf "'%s'" "$quoted" } quote_readline () { local quoted; _quote_readline_by_ref "$1" ret; printf %s "$ret" } มันคืออะไรและมาจากไหน? ฉันไม่สามารถหาข้อมูลเกี่ยวกับsetคำสั่งโดยไม่มีข้อโต้แย้ง จริงๆแล้วฉันไม่มีmanหน้าสำหรับsetการแจกจ่าย Linux เลย
22 bash  set 

2
หยุดการติดตามการดำเนินการ bash (set -x) จากด้านนอกของสคริปต์
ฉันพยายามหาคำตอบสำหรับคำถามนี้ แต่ก็ยังไม่มีโชค: ฉันมีสคริปต์ที่รันสคริปต์อื่น ๆ และสคริปต์อื่น ๆ เหล่านั้นมี "set -x" ในตัวพวกเขาซึ่งทำให้พวกเขาพิมพ์ทุกคำสั่งที่เรียกใช้ ฉันต้องการกำจัดสิ่งนั้น แต่เก็บข้อมูลไว้หากสคริปต์ใดส่งข้อความข้อผิดพลาดไปยัง stderr ดังนั้นฉันจึงไม่สามารถเขียน ./script 2>/dev/null นอกจากนี้ฉันไม่มีสิทธิ์ในการแก้ไขสคริปต์อื่น ๆ เหล่านั้นดังนั้นฉันจึงไม่สามารถเปลี่ยนตัวเลือกชุดได้ด้วยตนเอง ฉันกำลังคิดเกี่ยวกับการบันทึกทุกอย่างตั้งแต่ stderr ไปยังไฟล์แยกต่างหากและกรองคำสั่งการติดตาม แต่อาจจะมีวิธีที่ง่ายกว่านี้?
17 bash  shell  set 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.