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

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

1
ฉันจะตรวจสอบเนื้อหาของโฟลเดอร์สำหรับไฟล์บางไฟล์ได้อย่างไร
ฉันจะไปเกี่ยวกับการเขียนสคริปต์เพื่อวนรอบทุกโฟลเดอร์ในฮาร์ดไดรฟ์ค้นหาไฟล์วิดีโอใด ๆ แยกพวกเขาไปยังรากของฮาร์ดไดรฟ์แล้วลบทุกอย่างอื่นได้อย่างไร

2
วิธีการ ping ผ่านพร็อกซี SOCKS5
ฉันมีบางอย่าง SOCK5 ทำผ่านพร็อกซี SSH tunnel เช่น 127.0.0.1:8080 (8081, 8082 เป็นต้น) ฉันต้องการ ping เว็บไซต์ผ่านพร็อกซีที่แตกต่างกันเพื่อค้นหาว่าเว็บไซต์ใดมีเส้นทางที่เร็วกว่า ฉันจะใช้ ping คำสั่งหรือสิ่งที่คล้ายกันในเทอร์มินัล Ubuntu จะทำอย่างไร? ท้ายที่สุดฉันต้องการเขียน bash สคริปต์สำหรับการเปรียบเทียบทั้งหมด

2
Unix / linux shell scripting การแบ่งจุดทศนิยม
ฉันต้องหารค่าทศนิยมสองค่าและเก็บไว้ในตัวแปร รหัสของฉันด้านล่าง v_missedvol=4003.03 v_allvolume=3003.03 v_vol_temp= $(echo "$v_missedvol / $v_allvolume" | bc -l ) ผลลัพธ์ที่ฉันได้รับคือ -ksh: =1.33299700635691285135: not found [No such file or directory] ต่อไปฉันต้องการค่าที่จะเก็บไว้เป็น v_volume_total=1.3329 *100 กรุณาช่วยด้วยนี้ขอบคุณ!

0
การเข้าสู่ระบบหน้าเว็บอัตโนมัติด้วยสคริปต์ทุบตี
ฉันกำลังมองหาที่จะเขียนสคริปต์ทุบตีเพื่อทำการเข้าสู่ระบบอัตโนมัติบนเว็บไซต์ของ บริษัท ภายในที่ใช้เป็น Ping Board เพื่อตรวจสอบเครือข่ายของกล้องที่เชื่อมต่อกับ IP ฉันค่อนข้างใหม่ในการทุบตีสคริปต์และไม่รู้จะทำอย่างไรต่อ ฉันมีคำสั่งใน /home/pi/.config/lxsession/LXDE-pi/autostart ไฟล์ที่ทำงานขณะบู๊ตและเปิดเบราว์เซอร์ Chromium แบบเต็มหน้าจอและตรงไปยังหน้าที่ฉันต้องการ ฉันต้องการให้ระบบเข้าสู่ระบบโดยอัตโนมัติเมื่ออยู่ที่หน้านี้โดยไม่ต้องบันทึกรหัสผ่าน ฉันได้ดูโค้ดของหน้าเว็บแล้วมันก็ค่อนข้างตรงไปตรงมาฟิลด์ "ชื่อผู้ใช้" และ "รหัสผ่าน" มาตรฐานในแบบฟอร์ม ฉันเป็นผู้เริ่มหัดเขียนโค้ดโดยทั่วไป แต่รู้ว่าฉันกำลังมองหาบางอย่างที่ระบุฟิลด์ว่างที่เกี่ยวข้องและเติมข้อมูลตามค่าที่ฉันกำหนดเป็น "ชื่อผู้ใช้" และ "รหัสผ่าน" ในสคริปต์ ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมและหากฉันขาดข้อมูลที่สำคัญใด ๆ เกี่ยวกับปัญหาโปรดแจ้งให้เราทราบ ฉันใช้ Raspberry Pi 3 Model B [อัปเดต] ตั้งแต่เริ่มโพสต์ปัญหานี้ฉันพบว่าค่อนข้างจะมีวิธีแก้ปัญหา ฉันใช้ของเก่า http://User:Pass@domain.com เคล็ดลับและสิ่งนี้ดูเหมือนว่าจะเข้าสู่ระบบฉันโดยอัตโนมัติปัญหาเดียวคือไม่มีสไตล์ชีต HTML ซึ่งเป็นปัญหาเนื่องจากกล้อง IP มีรหัสสีสำหรับสถานะขึ้น / ลงและเมื่อต้องการการซ่อมแซมเป็นต้นวิธีใด ๆ ในการแก้ไขปัญหานี้ ปัญหา?
linux  bash  script  login  web 

0
Linux: สคริปต์ SFTP ไม่ทำงานในงาน cron
ฉันได้สร้างสคริปต์ sftp ที่ไม่มีรหัสผ่านเพื่อดาวน์โหลดไฟล์จากเซิร์ฟเวอร์อื่นและตั้งค่า cron job เป็นรายวัน แต่เมื่อฉันตรวจสอบแล้วไฟล์จะไม่ทันสมัยซึ่งหมายความว่าสคริปต์ไม่ได้ทำงานใน cron ดังนั้น ฉันตรวจสอบบันทึก cron โดยใช้ grep "sftpscript.sh" /var/log/cron และเห็นว่างาน cron ไม่ได้ทำงานตามที่กำหนดไว้ แต่ไฟล์จะไม่ดาวน์โหลด / ปรับปรุง สิ่งที่อาจเป็นปัญหาที่นี่? ขอบคุณ กำหนดการ Cron ( crontab -e ): 0 8 * * * /directory/of/script.sh นี่คือสคริปต์ของฉัน: #!/bin/bash echo "get file*" | sftp $username@$ipaddr:$external_path/ mv file* ./directory
linux  bash  cron  sftp 

1
วิธีลบไฟล์บน Linux ด้วย? ในชื่อ
ไม่สามารถย้ายหรือลบไฟล์ด้วย? ในชื่อ ความคิดใด ๆ ลองทำสิ่งต่อไปนี้: # ls manager?%80%99s-viewpoint.html what-wcsap-can-offer-you-?%80%93-guide-new-directors.html # mv manager\?%80%99s-viewpoint.html mangers-viewpoint.html mv: cannot stat ‘manager?%80%99s-viewpoint.html’: No such file or directory # rm ./manager\?%80%99s-viewpoint.html rm: cannot remove ‘./manager?%80%99s-viewpoint.html’: No such file or directory # rm -- 'manager?%80%99s-viewpoint.html' rm: cannot remove ‘manager?%80%99s-viewpoint.html’: No such file or directory # rm -- …
linux  bash  rm 

1
ทำไมไฟล์ทุบตีนี้ถึงหยุด Tomcat ของฉันถ้าเซสชั่นปิด?
สคริปต์ทุบตีต่อไปนี้จะเริ่ม Apache Tomcat และทำการล็อกไฟล์เข้ากับหน้าจอ: #!/bin/bash ~/tomcats/TC1_8083/bin/startup.sh tail -f ~/tomcats/TC1_8083/logs/catalina.out หากฉัน CTRL-C ส่วนท้ายสคริปต์ทุบตีจะสิ้นสุดลงและ Tomcat ยังคงทำงานได้อย่างถูกต้องแม้ว่าฉันจะออกจากระบบ อย่างไรก็ตามหากเซสชั่นของฉันตาย (เช่นผ่านการตัดการเชื่อมต่อเครือข่าย) ในขณะที่หางยังคงทำงานอยู่ Tomcat ก็หยุดเช่นกัน ถ้าฉันมี CTRL-C'ed หางแล้ว Tomcat จะไม่หยุดจนกว่าฉันจะเลือกที่จะฆ่ามัน ฉันไม่สนใจที่จะรักษาหางให้มีชีวิตอยู่กับการตัดการเชื่อมต่อเครือข่ายฉันต้องการให้ Tomcat ทำงานต่อไปโดยไม่คำนึงถึง ฉันไม่เข้าใจพฤติกรรมนี้ ใครช่วยอธิบายหน่อยได้ไหม? ฉันจะเปลี่ยนสคริปต์อย่างไรเพื่อให้ Tomcat ทำงานต่อไปแม้ว่าเครือข่ายจะถูกตัดการเชื่อมต่อ?
bash  tomcat 

1
โปรแกรมสำหรับควบคุมการทำงานของสคริปต์ทุบตี [ปิด]
ใครสามารถแนะนำโปรแกรมที่ใช้ GUI เพื่อควบคุมการดำเนินการของสคริปต์ทุบตีตามเวลา / ช่วง? ฉันคุ้นเคยทั้งคู่แล้ว cron และ ที่ และมองหาทางเลือกที่แนะนำ โปรแกรมบรรทัดคำสั่งอาจใช้ได้เช่นกันฉันต้องการความง่ายในการใช้งานและมีความยืดหยุ่นเป็นหลักเมื่อต้องแก้ไขเวลา / ช่วงเวลาสำหรับการดำเนินงาน เป็นการดีที่จะทำงานบนทั้ง Linux และ Mac OS ขอบคุณ แก้ไข : เพื่อให้ชัดเจนสิ่งนี้ไม่ได้สำหรับฉัน แต่สำหรับหลักสูตรที่ฉันสอนอยู่ในแผนกวิชามนุษยศาสตร์ / ศิลปะ บางครั้งบรรทัดคำสั่งนั้นน่ากลัวสำหรับมือใหม่ แนวทางของฉันคือแสดงให้เห็นถึงการแก้ปัญหาบางอย่างโดยใช้อินเทอร์เฟซ OSX (ในกรณีนี้) หรือยูทิลิตีที่มี GUI จากนั้นวางลงในบรรทัดคำสั่งเพื่อทำสิ่งเดียวกัน ฉันทำเช่นนี้เพื่อ "นุ่ม" การย้ายจาก GUI ไปยังสถานี นอกจากนี้วิธีการนี้ดูเหมือนว่าจะช่วยให้นักเรียนเห็นว่าคำตอบของปัญหา / เทคนิคเฉพาะนั้นสามารถถูกแยกออกเป็นปัญหา / เทคนิคทั่วไป
linux  macos  bash  cron  at 

1
วิธีเพิ่ม PATH ไปยังตัวแปร $ PATH ใน Linux
ฉันพยายามเพิ่มเส้นทางไปยังเส้นทางตัวแปรของฉันโดยใช้การส่งออก .. แต่เมื่อฉันปิด Terminal และเปิดใหม่ฉันพบว่า PATH ไม่ได้เพิ่ม ฉันจะเพิ่มให้เป็นแบบทั่วไปสำหรับทุกเซสชันได้อย่างไร ขอบคุณมาก!

1
ข้อผิดพลาดใน. bash_profile
ฉันใช้ CentOS 6.2 นี่เป็นของฉัน ~/.bash_profile เนื้อหา: # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH อย่างไรก็ตามเมื่อฉันใช้มัน source .bash_profile มันกลับมา if: Expression Syntax. ทำไม? นี่คือไฟล์. bashrc ของฉัน: # .bashrc # Source global definitions …

1
ปรับเปลี่ยนหลาย Plist ใช้สคริปต์
ค่าเริ่มต้นอ่าน /New.plist itemName ผลลัพธ์จะเป็นสิ่งที่ชอบ "ซอฟต์แวร์" แต่ฉันต้องการให้อัปเดตข้อมูลใหม่สำหรับคีย์เป็น "Software Old Version" ปัญหาคือฉันต้องแก้ไขหลาย plists ค่าเริ่มต้นอ่าน /New.plist itemName "ซอฟต์แวร์รุ่นเก่า"
mac  bash  unix 

1
Bash- การจัดเก็บค่าคีย์ในตัวแปรที่ประกาศใน Associative Array
ฉันกำลังพยายามสร้างอาเรย์แบบเชื่อมโยงในทุบตีที่มีชื่อไฟล์ (วิดีโอ) และระยะเวลาของมัน รหัสคือ: #!/bin/sh shopt -s nullglob movie=(*.mp4) declare -A MYMAP[$filename]=${duration} total=${#movie[*]} for (( i=0; i<=$(( $total -1 )); i++ )) do MYMAP[duration]=10 MYMAP[filename]=${movie[i]} echo "${MYMAP[@]}" echo "${!MYMAP[@]}" done echo "${#MYMAP[@]}" ฉันต้องการส่งชื่อไฟล์และเก็บไว้ในตัวแปรหลักและระยะเวลาในตัวแปรค่า ระยะเวลาจะถูกสอบถามผ่าน ffprobe จริง ๆ แต่มันไม่มีนัยสำคัญ ณ จุดนี้เนื่องจากค่าจะไม่ถูกส่งผ่านไปยังตัวแปรอย่างถูกต้อง ผลลัพธ์ที่ได้คือ: $ sh test2.sh test2.sh: line 6: MYMAP[]: bad array …
bash  array 

1
Bash ผนวกคำต่อท้ายเป็นตัวแปร
ฉันพยายามเขียนสคริปต์ที่จะเพิ่มคำนำหน้าให้กับตัวแปร แต่ดูเหมือนจะไม่สามารถเพิ่มได้ ฉันได้ลองใช้ ++ 1 และอีกหลายคน แต่ไม่แน่ใจว่าจะทำอย่างไร นี่คือทุบตี HOSTNAME=TEST-HOST for i in {1..5}; do COMMAND IS RUN HERE AND INCLUDES $HOSTNAME; done
bash 

1
ใน ec2 ฉันจะใช้ปุ่มทางลัดการนำทางได้อย่างไร
เมื่อใดก็ตามที่ฉัน ssh to ec2 ฉันสังเกตเห็นว่า ctr + a (จุดเริ่มต้นของบรรทัด), ctrl + e และปุ่มนำทางอื่น ๆ ไม่ทำงานในสถานี มีวิธีตั้งค่าเทอร์มินัล ec2 ของฉันเพื่อให้ฉันสามารถใช้ปุ่มทางลัดการนำทางหรือไม่

1
สคริปต์จะไม่วนซ้ำไฟล์ตามที่วางแผนไว้
ฉันได้รับสคริปต์นี้ที่วนซ้ำผ่านล็อกไฟล์ แต่ฉันเปลี่ยนบางอย่างและมันไม่ทำงาน: #!/bin/sh n= while true do fname="trace$n.log" [ -f "$fname" ] || break n=$(($n+1)) done traceroute google.com >"$fname" เปลี่ยนไปเป็น: #!/bin/sh n= while true do fname="trace$n.log" [ -f "$fname" ] || break n=$(($n+1)) done traceroute google.com >~/Scripts/logs/"$fname" บรรทัดสุดท้ายมีการเปลี่ยนแปลงและตอนนี้จะไม่ทำงาน! ความช่วยเหลือจะได้รับการชื่นชม! ขอบคุณ.

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