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

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

2
ไม่สามารถสร้างนามแฝงถาวรใน Mac OS
ใน Linux ฉันสามารถเพิ่ม alias ไปยัง bashrc และมันจะกลายเป็น alias แบบถาวร ใน Mac OS ฉันพยายามทำสิ่งเดียวกัน: เป็นกลุ่ม ~ / .bashrc export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH f or scripting alias prj="cd ~/Documents/projects" ### Added by the Heroku Toolbelt export PATH="/usr/local/heroku/bin:$PATH" ที่ถูกกล่าวว่าฉันได้รับนี้: $ alias alias rvm-restart='rvm_reload_flag=1 source '\''/Users/alex/.rvm/scripts/rvm'\''' ดังนั้นprjนามแฝงของฉันอยู่ที่ไหน ฉันรีบูตแล็ปท็อป แต่ไม่มีอะไรเปลี่ยนแปลง $ cat …

1
คำสั่งทุบตีไปป์
ฉันกำลังพยายามดาวน์โหลดtar.gzแพ็คเกจด้วยwgetขยายไฟล์และเปลี่ยนชื่อไดเรกทอรีที่คลายบีบอัดทั้งหมดในคำสั่งเดียว (piped) ความตั้งใจของฉันคือ wget -O- $URL | tar fvxz - -C $DEST wget -O- $URL | tar fvxz - | mv - $DEST ฉันกำลังทำอะไรอยู่
bash 

2
Linux cp การอนุญาตถูกปฏิเสธบนระบบไฟล์ ntfs
ใครช่วยกรุณาอธิบายว่าทำไมฉันถึงได้รับข้อผิดพลาดที่อนุญาตนี้ ฉันเป็นผู้ใช้เป็นการส่วนตัวgและตามที่ ls แสดงว่าฉันได้อ่านและเขียนสิทธิ์สำหรับทั้งแหล่งที่มาและปลายทาง ระบบของฉันคือSlackware 14และอุปกรณ์ที่ถูกเขียนขึ้นเพื่อเป็น eReader ntfs-3g file systemของฉันเป็น ฉันมีระบบไฟล์ ntfs อื่น ๆ ไดรฟ์นิ้วหัวแม่มือ HDDs ภายนอก ฯลฯ ซึ่งฉันสามารถเขียนเป็นผู้ใช้ ไม่มีความแตกต่างที่สังเกตได้ในการตั้งค่าการอนุญาตสำหรับสิ่งใด ๆ เป็น ntfs พวกเขาทั้งหมดเป็นเจ้าของโดย root ของกลุ่ม root มันเป็นเพียงกับผู้อ่านว่าฉันมีปัญหานี้ (แม้ว่าฉันสามารถเขียนถึงมันในฐานะที่เป็นราก) ดังนั้นฉันเชื่อว่าปัญหานี้เกิดขึ้นกับอุปกรณ์นี้โดยเฉพาะ แต่ฉันก็ไม่รู้ว่ามันจะเป็นอะไร ~ $ cp /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt /500gb/database/media/ cp: cannot create regular file '/500gb/database/media/Wyndham-TheMidwichCuckoos.txt': Permission denied ~ $ ls -l /home/g/MyBooks/Wyndham-TheMidwichCuckoos.txt -rw-r--r-- …

1
Bash บน Ubuntu บน Windows บันทึกเซสชัน bash
อาจารย์ของฉันต้องการให้เราบันทึกเซสชันการทุบตีของเราโดยส่งบันทึกเซสชันการทุบตี (เทอร์มินัล) ของเรา ฉันใช้ Bash บน Ubuntu บน Windows ด้วยการอัปเดตของ Windows 10 Creator เมื่อใช้คำสั่ง "script test.log" ฉันจะได้รับ: สคริปต์เริ่มทำงานไฟล์คือ test.log สคริปต์: ไม่สามารถตั้งค่าตัวจัดการสัญญาณ: ไม่ได้ใช้งานฟังก์ชัน ณ จุดนี้ฉันไม่เห็นสิ่งที่ฉันพิมพ์และโดยปกติฉันจะต้องออกคำสั่ง "exit" เพื่อบันทึกไฟล์สคริปต์ แต่เพียงปิดหน้าต่าง bash (เทอร์มินัล) รูปภาพเช่นกัน

3
ทดสอบว่ามี subvolume btrfs หรือไม่
ฉันมีปัญหาในโพรซีเดอร์ bash ซึ่งควรพอร์ตการสำรองข้อมูลดิสก์ rsync เก่าของฉัน (และที่เก็บถาวร) ไปยังการสำรองสแน็ปช็อต btrfs ในอนาคตของฉัน ฉันต้องการใช้สาย: # btrfs subvolume snapshot /targetdir/@monthly.9 /targetdir/@monthly.8 หาก snapshot /targetdir/@monthly.8 ไม่มี jet อยู่แสดงว่าได้รับการสร้างตามที่ฉันต้องการ แต่ถ้า /targetdir/@monthly.8 อยู่ที่นั่นแล้ว /targetdir/@monthly.8/@onthly.9 จะถูกสร้างขึ้นแทน ฉันขาดการทดสอบสำหรับการดำรงอยู่ที่นี่พูดว่า: # [[ -bsnap <snap-path> ]] # =TRUE if <snap-path> exists and is a snap! ฉันจะเอาชนะปัญหานี้ได้อย่างไร

1
แยกหนึ่ง TTY แนวตั้ง
เมื่อต้องการดูเพิ่มเติมจากประวัติบรรทัดคำสั่งฉันมาพร้อมกับแนวคิดในการแบ่งการทำงานในแนวตั้ง พื้นที่ทำงานจะอยู่ที่มุมด้านล่างขวาของหน้าต่างและคำสั่งที่มองเห็นได้เก่าที่สุดที่มุมบนซ้าย จนถึงตอนนี้ฉันไม่สามารถทำได้ด้วยหน้าจอใช่ไหม หน้าจอเป็นเครื่องมือที่เป็นไปได้สำหรับการแยกหนึ่ง tty หรือไม่?
bash  display  tty 

2
ค้นหาไฟล์จากนั้นแทนที่ด้วย wildcard
ฉันมีชุดไฟล์ที่เรียกว่า: 2014111test.log 2014111test.log.stuff 2014111test.log.flibble 2014115test.log 2014115test.log.stuff 2014115test.log.flibble ฉันต้องการค้นหาไฟล์บันทึกทั้งหมดในช่วงอายุที่กำหนดจากนั้น tar.gz พร้อมกับไฟล์อื่น ๆ ที่มีส่วนเริ่มต้นเดียวกันของชื่อลงในไฟล์เก็บถาวร $ find . -name '20*.log' -ctime +90 -exec 'tar zvcf /var/log/logzip/{}.tgz {}*' \; find: tar zvcf /var/log/fwlogzip/./2014111test.log.tgz ./2014111test.log*: No such file or directory ... อย่างไรก็ตามถ้าฉันพิมพ์ tar zvcf /var/log/fwlogzip/./2014111test.log.tgz ./2014111test.log* ด้วยตัวเองมันทำงานได้ดี ดังนั้นดูเหมือนว่ามีบางสิ่งผิดปกติเกิดขึ้นกับวงกลมที่พบว่าส่งคำสั่งไปยังเปลือกหอย ฉันพลาดอะไรไป
linux  bash  tar 

3
ดำเนินการหลายคำสั่งในหน้าต่างเทอร์มินัลจาก bash
จากสคริปต์ทุบตีฉันต้องการเปิดLXTerminalหน้าต่างและรันหลายคำสั่งเช่น: lxterminal -e "echo 'Hello' && sleep 5" มันไม่ได้อ่านคำสั่งแรก (เพราะฉันพยายามที่จะกลับคำสั่งซื้อ) และจะไม่ทำงานด้วยcommand1 ; command2โซ่อย่างง่าย เห็นได้ชัดว่ามันทำงานได้กับคำสั่งเดียว ความคิดใด ๆ ขอบคุณล่วงหน้า.

1
ทุบตีมาพร้อมกับ knoppix 7 และถ้าไม่ยากที่จะติดตั้ง?
ทุบตีมาพร้อมกับ knoppix 7 และถ้าไม่ยากที่จะติดตั้ง? ฉันแค่เรียนรู้ลินุกซ์และดูเหมือนว่าทุกคนแนะนำให้ใช้ทุบตีเพื่อเรียนรู้สิ่งที่บรรทัดคำสั่ง แต่ฉันไม่สามารถหาทุบตีใน knoppix 7 (ฉันได้พบขั้วอื่น ๆ สองสาม แต่ไม่ทุบตี) ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ !!!
linux  bash 

0
ฉันมีปัญหากับคำสั่ง g ++ ของ MinGW
ฉันใช้ MinGW64 (32 บิต) เพื่อรวบรวมแอป c ++ แต่ทุกครั้งที่ฉันพยายามเรียกใช้ g ++ ฉันจะได้รับ "bash: / mingw64 / bin / g ++: ไม่สามารถเรียกใช้ไฟล์ไบนารี: ข้อผิดพลาดของรูปแบบ Exec" อย่างไรก็ตามใน CMD (win32) มันใช้งานได้ดี นอกจากนี้สิ่งที่ฉันพยายามรวบรวมนั้นทำจากไฟล์ sh ที่ใช้ g ++ เฉพาะใน MinGW64 ไม่ใช่ CMD ความช่วยเหลือได้รับการชื่นชมอย่างมาก สีเทา

2
คัดลอกชื่อไฟล์ไปยังโฟลเดอร์อื่น
ฉันต้องการคัดลอกชื่อไฟล์จากโฟลเดอร์หนึ่งไปยังอีกโฟลเดอร์ เนื้อหาไฟล์จะไม่เปลี่ยนแปลง ไม่มีไฟล์ถูกเขียนทับย้ายหรือคัดลอก มันเกี่ยวกับชื่อไฟล์เท่านั้น ฉันมีโฟลเดอร์ A พร้อมไฟล์ชื่อ: แสดง - S01E01 - หัวเรื่องที่เป็นคำอธิบาย แสดง - S01E02 - ชื่อบรรยายอื่นหรือไม่? mkv แสดง - S01E03 - ชื่อที่ซับซ้อนอื่น! .mkv ... ฉันมีโฟลเดอร์ B พร้อมไฟล์ชื่อ: show.s01e01.mkv show.s01e02.mkv show.s01e03.mkv ... ฉันไม่ต้องการไฟล์ในโฟลเดอร์ A อีกต่อไปเพราะไฟล์ในโฟลเดอร์ B มีคุณภาพดีกว่า แต่ฉันไม่ต้องการเปลี่ยนชื่อไฟล์ทั้งหมดในโฟลเดอร์ B ด้วยตนเองเพื่อให้มีชื่อไฟล์ที่เหมาะสมรวมถึงชื่อตอน ฉันต้องการถ่ายโอนชื่อไฟล์ที่เหมาะสมจากไฟล์ในโฟลเดอร์ A ไปยังไฟล์ในโฟลเดอร์ B โดยอัตโนมัติลำดับตัวอักษรเหมือนกันในทั้งสองโฟลเดอร์ ดังนั้นไฟล์ที่ n ในโฟลเดอร์ B จึงสอดคล้องกับไฟล์ …

1
Bash บน Ubuntu บน Windows - ไฟล์จะไม่ปรากฏหลังจากอัปเดตใน Windows
ฉันประสบปัญหากับ Bash บน Ubuntu บน Windows: เมื่อฉันแก้ไขไฟล์ที่อยู่ในไดเรกทอรี Bash home ของฉัน C: \ Users \ me \ AppData \ Local \ lxss \ home \ me \ โดยใช้ซอฟต์แวร์ที่ใช้ Windows (notepad ++ สำหรับ ตัวอย่าง) Bash ไม่เห็นไฟล์อีกต่อไป ดังนั้นถ้าฉันสร้างไฟล์ในโฮมไดเร็กตอรี่ของฉันโดยใช้ Bash แล้วแก้ไขไฟล์เดียวกันโดยใช้ Windows, Bash จะไม่เห็นมันอีกต่อไป เช่นเดียวกับการคัดลอกไฟล์จาก Windows ไปยังโฮมไดเร็กตอรี่ Bash ไม่สามารถมองเห็นได้ มีวิธีใดบ้างที่จะทำให้ไฟล์เหล่านั้นปรากฏแก่ Bash? ไฟล์ PS และการเปลี่ยนแปลงในไดเรกทอรี …


2
วิธีการใช้ชื่อไฟล์ปัจจุบันหลายครั้งในคำสั่งไพพ์?
ฉันพยายามแปลงชุดไฟล์. mov เป็น mp4 ฉันจะรับชื่อไฟล์จากไปป์เพื่อสร้างคำสั่ง ffmpeg ได้อย่างไร วิธีใช้ข้อโต้แย้งไปป์หลายครั้งในลิงค์โซ่? ฉันพยายามที่จะมีอะไรแบบนั้น: ls *.MOV | ffmpeg -y -i $file "$file.mp4"

1
จะเปลี่ยนชื่อไฟล์เป็นหมายเลขลำดับที่เพิ่มขึ้นแบบ monotonically ตามด้วยคำต่อท้ายได้อย่างไร?
ฉันต้องการเปลี่ยนชื่อไฟล์ทั้งหมดภายใต้ไดเรกทอรีเฉพาะเป็นตัวเลขตามด้วยคำต่อท้าย ตัวอย่างเช่นฉันต้องการเปลี่ยนชื่อไฟล์ * .jpg ทั้งหมดเป็น 1.jpg, 2.jpg, 3.jpg, ... ฉันคิดเกี่ยวกับการใช้findสิ่งนี้ (คล้ายfind ./*.jpg --exec mv {} <number_of_iteration>.jpg) แต่ฉันไม่รู้ว่าฉันจะใส่<number_of_iteration>อะไร ฉันสามารถใช้findทำสิ่งนี้ได้หรือไม่? หรือมีวิธีที่ดีกว่า
bash  find  exec 

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