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

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU

1
“ cd! $” หมายถึงอะไรในการทุบตีและการทดแทนอื่น ๆ เช่นนี้ฉันสามารถใช้อะไรได้บ้าง
ฉันเห็นคนทำ: cp . yy/ cd !$ บรรทัดสุดท้ายที่แปลเป็น: cd yy/ ดังนั้นฉันคิดว่า !$ หมายถึง "อาร์กิวเมนต์สุดท้ายจากบรรทัดก่อนหน้า" ฉันถูกไหม? มีการทดแทนประเภทนี้หรือไม่? ฉันจะหาเอกสารของพวกเขาได้ที่ไหน
4 bash  shell 

3
แบ่งไฟล์ย่อยสตริงออกเป็นไฟล์แยกกันโดยยึดตามตัวอักษรตัวแรก ทุบตี
เอาล่ะฉันมีไฟล์ที่เต็มไปด้วยสตริงนับพัน แต่ละคนอยู่ในสายของตัวเอง ฉันต้องการสร้างสคริปต์ที่จะอนุญาตให้ฉันใช้ไฟล์นี้เรียกมันlist.txtและรับไอเท็มจากแต่ละบรรทัดและวางเป็นไฟล์แยกกันตามตัวอักษรหรือตัวเลขตัวแรก ตัวอย่างเช่นสมมติว่าสองสามบรรทัดแรกของไฟล์เป็นดังนี้: cheese pizza pepperoni lettuce grahamCrackers 0-0Foods chicken lentils 1-2Items ฉันต้องการที่จะทำลายมันลงในสิ่งเหล่านี้: c.txt cheese chicken g.txt grahamCrackers l.txt lettuce lentils p.txt pizza pepperoni 0.txt 0-0Foods 1.txt 1-2Items ฉันต้องการทำสิ่งนี้ด้วย BASH บน OS X ขอบคุณ โอ้ถ้าช่วยได้ รายการในแต่ละบรรทัดจะไม่มีที่ว่างพวกมันจะถูกบรรจุเป็นหนึ่งคำเสมอ EG (ไม่มีซุปไก่แทนซุปไก่)
4 bash  script  parsing 

1
วิธีการรวมไฟล์ที่ซ่อนอยู่ในการจับคู่รูปแบบ ls?
ฉันแค่พยายามแสดงรายการไฟล์ในไดเรกทอรีปัจจุบันที่มีรูปแบบบางอย่าง แต่ไม่สามารถใช้งานได้กับไฟล์ที่ซ่อนอยู่ ฉันจะจับคู่ไฟล์ทั้งหมดได้อย่างไร? ฉันเหนื่อย ls *foo* และ ls -a *foo* ไม่พบสิ่งใดใน Google คำหลักที่ฉันคิดได้ในการค้นหาโอกาสในการขายนี้เป็นข้อมูลที่ไม่เกี่ยวข้อง ...
4 linux  bash 

2
ทำไมถึงไม่สามารถ sudo history ได้?
หากฉันต้องการดูประวัติทุบตีรูทของฉันทำไมฉันจึงไม่สามารถรันได้sudo history? เมื่อฉันบอกว่าไม่พบประวัติคำสั่ง แต่ถ้าฉันรันโดยไม่มี sudo มันจะทำงานได้ดี แก้ไข: เป็นคำตอบที่ซ้ำกัน แต่ไม่ใช่คำถามที่ซ้ำกันสำหรับคำถามที่เชื่อมโยง บุคคลที่ถามคำถามใด ๆ จะไม่ทราบว่าเป็นคำสั่งเชลล์บิวด์อินซึ่งต่างจากไบนารี

1
ทำไมไฟล์ tar.gz ของฉันเสียหลังจากใช้ bash ftp เพื่อย้ายไฟล์ไปยังเซิร์ฟเวอร์ระยะไกล
ฉันสำรองไฟล์ tar.gz บนเซิร์ฟเวอร์ภายในจากนั้น ftp ไปยังเซิร์ฟเวอร์ระยะไกล ถ้าฉันดึงมันไปยังเดสก์ท็อปของฉันผ่านไคลเอนต์ ftp จากเซิร์ฟเวอร์ภายในไฟล์จะทำงานได้ดี ถ้าฉันดึงมันไปยังเดสก์ท็อปของฉันผ่านไคลเอนต์ ftp จากเซิร์ฟเวอร์ระยะไกลมันมีขนาดเล็กลงเล็กน้อยและเสียหาย ฉันได้ลองใช้ไคลเอนต์เพื่อบังคับ ascii และโหมดไบนารีและไม่ทำให้ไฟล์เสียหายดังนั้นฉันจึงไม่เห็นสาเหตุที่ทำให้เกิดความเสียหายในสคริปต์ ความคิดใด ๆ การถ่ายโอนไฟล์ดีมันเพิ่งจะไม่เปิด ขอบคุณล่วงหน้า. cd $FSBACKDIR ATTACH='for file in *$DATE.tar.gz; do echo -n -e "put ${file}\n"; done' ftp -nv <<EOF open $FTPHOST user $FTPUSER $FTPPASS cd $FTPDIR $ATTACH quit EOF
4 linux  bash  ftp  tar 

2
ความแตกต่างและการเชื่อมโยงแบบเรียกซ้ำ
ฉันพยายามที่จะ diff สองไดเรกทอรีใช้ diff(ดี) อย่างไรก็ตามdiffตามจริงแล้ว symlink และเปรียบเทียบความแตกต่างระหว่างไฟล์เป้าหมาย ฉันไม่สามารถหาวิธีที่จะไม่diffทำเช่นนี้ แต่สิ่งที่ฉันอยากรู้คือเป้าหมายนั้นเหมือนกัน (หรือแตกต่างกันสำหรับเรื่องนั้น) กล่าวอีกนัยหนึ่งถ้า symlinks ชี้ไปที่ไฟล์เดียวกัน (ในความคิดของฉัน) พวกเขาเหมือนกันมิฉะนั้นจะแตกต่างกันและนั่นคือทั้งหมดที่ฉันต้องการdiffบอกฉันเมื่อมันมาถึง symlink ระหว่างการเรียกซ้ำ ฉันได้ลองค้นหาทางออนไลน์ แต่ฉันสามารถค้นหาหัวข้อที่เกี่ยวข้องกับการจัดการกับ symlink เพียงอย่างเดียวหรือไม่สนใจเลยก็ได้
4 bash  unix  diff 

2
ทำไมบางครั้งทุบตีคิดว่า $ HOME ของฉันไม่ถูกต้อง
เช่นเดียวกับชื่อเรื่องบอกว่าดูเหมือนว่าบางครั้งทุบตี $ HOME ของฉันจะทำให้เข้าใจผิด สิ่งนี้ถูกครอบตัดหลังจากเหตุการณ์แบบที่ดูเหมือนไม่ซ้ำใครซึ่งตอนนี้ฉันจะเล่นซ้ำในจังหวะกว้าง ใช้ OS X 10.6 ด้วยบัญชีท้องถิ่นปกติ ทำงานผูกบัญชีของฉันไปยัง Active Directory เวลาผ่านไปมากโดยไม่มีปัญหา ตั้งค่า rvm เพื่อจัดการการติดตั้ง Ruby (ซึ่งจะมีความสำคัญในภายหลัง) อัปเกรดเป็น OS X 10.7 เมื่อไม่กี่วันที่ผ่านมา หลังจากติดตั้งสำเร็จให้ลองลงชื่อเข้าใช้ด้วยข้อความ "ต้องรีเซ็ตรหัสผ่าน" ซึ่งไม่อนุญาตให้รีเซ็ตรหัสผ่าน เพียงแค่เขย่ากล่องหลังจากป้อนรหัสผ่านใหม่ ทำ googling มาก ทำ googling เสร็จแล้วมากขึ้น สาบานได้ เข้าสู่ระบบในฐานะ root, สร้างบัญชีใหม่, ตั้งค่าเป็นผู้ดูแลระบบ, ลบ / Users / [บัญชีใหม่], เปลี่ยนชื่อ / Users / [บัญชีเก่า] เป็น …

3
ฉันจะใช้ find เพื่อคัดลอกไฟล์ที่พบทั้งหมดไปยังชื่อใหม่ในไดเรกทอรีเดียวกันได้อย่างไร
ฉันมีคำสั่งง่ายๆที่เกือบจะเป็นสิ่งที่ฉันต้องการ ต่อไปนี้จะค้นหาไฟล์ทั้งหมดที่มีคำต่อท้ายเป็น '_compressed.swf' และคัดลอกแต่ละไฟล์ลงในไดเรกทอรีเดียวกันโดยใช้ '.bak2' ต่อท้าย: ค้นหา '../content' -name '* _compressed.swf' -print0 | xargs -0 -I {} cp {} {} .bak2 ผลลัพธ์ ใน: /content/somefile_compressed.swf Out: /content/somefile_compressed.swf.bak2 อย่างไรก็ตามฉันต้องแทนที่ '_compressed.swf' ด้วย '_content.swf' ฉันต้องการใช้การค้นหาแทนที่การตั้งค่าสถานะแบบเรียกซ้ำบน cp เพื่อความสอดคล้อง วัตถุประสงค์ ใน: /content/somefile_compressed.swf Out: /content/somefile_content.swf
4 linux  bash  find  cp  xargs 

1
รับ“ ไม่พบคำสั่ง” เมื่อใช้คำสั่งซอร์สบน Fedora
ฉันกำลังใช้งาน Fedora เมื่อฉันออก: -bash-3.2$ source na-profile.conf ฉันเข้าใจ: : command not found : command not found : command not found ไฟล์ na-profile.conf ดูเหมือนว่า: KEYTAB=server02 export KEYTAB; ORACLE_HOME=/home/oracle/app/xxxx/11.2.0.1/yyyyy; export ORACLE_HOME; TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN; PATH=$PATH:$ORACLE_HOME/bin ไม่มีบรรทัดหรือช่องว่างเพิ่มเติมในไฟล์
4 linux  bash  fedora 

2
จัดเรียงไฟล์ด้วย grep
ฉันมีไฟล์เอาต์พุตหลายร้อยไฟล์ซึ่งบางไฟล์มีข้อความแสดงข้อผิดพลาด ให้บอกว่าฉันต้องการใส่ไฟล์ทั้งหมดที่มีสตริง "ERROR_1" โดยอัตโนมัติใน "subfolder_1" และที่เหลือใน "subfolder_2" อันที่สอง สิ่งนี้น่าจะเป็นไปได้โดยการวาง grep สิ่งที่จะเป็นไวยากรณ์ที่มีประโยชน์?
4 bash  grep  sorting  pipe 

1
ต่อท้ายตัวบ่งชี้เฉพาะเข้ากับคำสั่ง bash
ฉันใช้คำสั่งและฉันต้องการใช้งาน pkill -f เพื่อฆ่าอินสแตนซ์คำสั่งเฉพาะนั้นในภายหลัง ไม่มีวิธีที่สมเหตุสมผลที่ฉันจะได้รับ PID ดังนั้นความคิดของฉันคือการเพิ่มตัวระบุเฉพาะต่อท้ายคำสั่งแทนเช่น: ./command argument1 argument2 UNIQUE-IDENTIFIER-ASDF-GHJK-123 หลังจากนั้นถ้าฉันต้องการฆ่ามันฉันก็ทำได้ pkill -f UNIQUE-IDENTIFIER-ASDF-GHJK-123 สิ่งที่เป็น ./command มีความเข้มงวดในการรับเพียงสองข้อโต้แย้งเท่านั้นโดยผ่านตัวระบุที่ไม่ซ้ำที่สามมันจะผิดพลาด มีวิธีการรวมสตริงตัวระบุที่ไม่ซ้ำกันอย่างใดโดยไม่ต้องผ่านมันไป ./command? ขอบคุณ
3 bash 

3
วิธีเปิดใช้งาน Bash ใน Windows 10
แม้ว่ามันอาจจะดูเหมือนซ้ำกัน คำถามนี้ ความจริงก็คือว่า Microsoft เพิ่งประกาศว่าทุบตีจะทำงานโดยตรงจาก windows เห็นได้ชัดว่าฉันชอบวิธีการแก้ปัญหาก่อนที่จะติดตั้ง cygwin ปัญหาคือว่าโพสต์บล็อกระบุว่าเป็นไปได้แล้ว แต่ฉันไม่สามารถหาวิธีการเปิดใช้งานในการติดตั้ง windows ของฉัน ฉันควรทำอย่างไรเพื่อที่จะรัน bash โดยตรงตามที่ระบุไว้ในโพสต์บล็อกของ microsoft ที่ลิงก์?

1
เป็นไปได้ไหมที่จะเปิดพอร์ตเพื่อฟังโดยไม่ต้อง netcat
ฉันต้องการระบบ Linux เพื่อฟังพอร์ต TCP และถ่ายโอนข้อมูลที่ได้รับไปยังไฟล์และ / หรือ stdout ระบบไม่ได้ติดตั้ง netcat ฉันมีสิทธิ์ใช้งานรูท แต่ไม่อนุญาตให้เพิ่มแอพพลิเคชั่นใหม่เข้าสู่ระบบด้วยเหตุผลด้านความสอดคล้อง เป็นไปได้หรือไม่ที่จะทำเช่นนี้กับสคริปต์ทุบตี perl หรือ python อย่างง่าย ง่ายกว่าดีกว่า

1
ฉันจะทำให้การเติมข้อความอัตโนมัติของ zsh เป็น wildcard ให้สมบูรณ์ได้อย่างไร
ใน zsh และ bash ถ้าฉันพิมพ์ ls c<TAB> มันจะแสดงชื่อไฟล์ทุกคนเริ่มต้นด้วยค ถ้าฉันพิมพ์แทน ls c*<TAB>bash ทำงานในลักษณะเดียวกัน แต่ zsh จะแทนที่ c* ด้วยรายการของทุกไฟล์ที่ขึ้นต้นด้วย c มีวิธีใดบ้างที่จะทำให้ zshs ทำงานเหมือนทุบตี?
3 bash  zsh  globbing 

1
เข้าสู่หน้าเว็บผ่านสคริปต์
ฉันพยายามทำการดึงข้อมูลจากเว็บไซต์ที่ต้องการให้ฉันเข้าสู่ระบบโดยอัตโนมัติฉันเคยทำสิ่งนี้มาแล้วในอดีต (เมื่อหลายปีก่อน) โดยใช้ wget แต่วิธีนั้นดูเหมือนจะไม่ทำงานอีกต่อไป รู้ว่าทำไม ฉันเคยทำแบบนี้: MY_USERNAME=username # needs to be urlencoded, this can be done at http://lajm.eu/emil/dump/stringfunctions.php. MY_PASSWORD=password # also has to be urlencoded LOGIN_DATA="action=login&login_nick=$MY_USERNAME&login_pwd=$MY_PASSWORD" wget --quiet --save-cookies cookiejar --keep-session-cookies --post-data $LOGIN_DATA --user-agent 'Firefox' -O um.htm http://ungdomar.se/index.php ตอนนี้เมื่อฉันพยายามเรียกใช้สิ่งนี้ฉันเพิ่งได้รับการส่งกลับไปที่หน้าหลัก (ดังนั้นฉันไม่เพียงป้อนรหัสผ่านผิดถ้าฉันทำเช่นนั้น ฉันได้ลองทำใน Python ด้วย เปลี่ยนไปใช้เครื่องจักร (นี้จะดีกว่า wget) แต่ฉันดูเหมือนจะได้รับผลลัพธ์เดียวกัน มันทำให้ฉันนึกไม่ออกว่าทำไมมันถึงไม่ทำงาน นี่เป็นส่วนหนึ่งของเว็บไซต์ที่เกี่ยวข้องกับแบบฟอร์ม …
3 bash  web  wget  script  webforms 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.