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

เชลล์คือซอฟต์แวร์ที่ช่วยให้ผู้ใช้โต้ตอบกับระบบปฏิบัติการโดยปกติแล้วพิมพ์ที่บรรทัดคำสั่ง

1
การใช้ Cron เพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่
ฉันพยายามเรียกใช้กระบวนการพื้นหลัง PHP ที่เป็นผู้บริโภคสำหรับข้อความ Rabbit MQ ฉันสามารถเรียกใช้สคริปต์ในชื่อ "php receive.php &" แต่ฉันต้องการให้แน่ใจว่าสคริปต์นี้ทำงานอยู่ตลอดเวลา ฉันได้รวบรวมสคริปต์ทุบตีที่ดูเหมือนพยายามค้นหา PID ของกระบวนการ หากไม่พบ PID ก็จะเริ่มต้นสคริปต์สำรอง ถ้ามันพบกระบวนการมันก็แค่สะท้อน PID ฉันพยายามรัน Bash Script บน Cron ทุก ๆ ชั่วโมงเพื่อให้แน่ใจว่ากระบวนการพื้นหลังทำงานอยู่ แต่ฉันไม่ได้เปิดใช้งาน ถ้าฉันรัน Shell / Bash Script โดยตรง มันทำงานได้อย่างสมบูรณ์ Bash Script p=$(pidof -s php receive.php) if [[ -z "${p// }" ]] then php /var/www/html/example.com/public_html/receive.php & …
1 linux  bash  shell  php  cron 

2
Debian: ฆ่าเซสชันบนหน้าจอผ่านเว็บ
ฉันมีรหัส PHP ที่เป็นดังนี้ (kill.php): <?php echo exec("/home/duke/aa/scripts/test.sh"); ?> test.sh มีลักษณะเช่นนี้: screen -S server -X quit ถ้าฉันเรียกใช้โค้ด php ในเทอร์มินัลphp screen -S server -X quitสคริปต์จะฆ่าเซสชันหน้าจอ อย่างไรก็ตามถ้าฉันชี้เว็บเบราว์เซอร์ของฉันไปที่http: //mywebsite/test.phpมันจะแสดง "ไม่พบเซสชันหน้าจอ" และจะไม่ฆ่าเซสชันของหน้าจอ ฉันจะทำอย่างไรเพื่อให้เว็บเบราว์เซอร์ทำงานได้

1
อ่านมาตราของเส้นจากไฟล์ใน Linux
ฉันกำลังพยายามส่งออกบรรทัด 100 ถึง 1,000,100 จากไฟล์ที่มี 62 ล้านบรรทัด จนถึงตอนนี้ฉันได้พบคำสั่งนี้: head -1100000 input > output แต่หัวไม่ได้ใช้ตัวเลือกการชดเชย คิด?
linux  shell  head 

1
ตัวแปลงไฟล์เชลล์ (* .sh) เป็นชุดไฟล์
มันเงียบน่าเบื่อที่จะแปลงเชลล์สคริปต์เป็นไฟล์แบทช์ มีวิธีการดำเนินการโดยอัตโนมัติและง่ายดาย. sh เพื่อ. bat การแปลงหรือในทางกลับกัน?

2
วิธีให้การเข้าถึงสคริปต์อ่านไฟล์ในไดเรกทอรีบน Linux
ฉันสร้างเชลล์สคริปต์ที่ลบรายการที่ซ้ำกันในไดเรกทอรีที่กำหนด มันพิมพ์ "การเข้าถึงถูกปฏิเสธ" ตามด้วยชื่อไฟล์หากไฟล์บางอย่างไม่สามารถอ่านได้ เมื่อฉันพยายามวิ่ง ./filename (ชื่อของไฟล์เชลล์) ภายใต้ไดเรกทอรีที่แน่นอนไฟล์ทั้งหมดจะถูกพิมพ์ออกมาพร้อมกับ "ปฏิเสธการเข้าถึง" ถัดจากมัน ได้รับอนุญาต: drwxr-xr-x . drwx------ 24 .. -rw-r--r-- 1 file1.cpp -rw-r--r-- 1 file2.cpp -rwxr-xr-x 1 file3.cpp -rwxr-xr-x 1 file2.txt -rw-r--r-- 1 script เอาต์พุตเมื่อฉันรันคำสั่ง ./script ภายใต้ไดเรกทอรี: /file1.cpp: permission denied /file2.cpp: permission denied /file3.cpp: permission denied /file2.txt: permission denied /script.sh: permission denied
linux  bash  shell 

2
ค้นหา -print0 | xargs -0 grep ไม่ทำงานตามที่คาดไว้ใน Ubuntu 10.04
ฉันมีปัญหาแปลก ๆ เล็กน้อย ถ้าฉันวิ่ง: find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' | xargs grep -i users ฉันได้รับข้อผิดพลาดในการโหลดชื่อไฟล์ที่มีช่องว่าง แต่ก็มีบางไฟล์ที่ตรงกัน อย่างไรก็ตามหากฉันลองต่อไปนี้เพื่อจัดการชื่อไฟล์ที่มีช่องว่างอย่างถูกต้องจะไม่มีการคืนค่าที่ตรงกัน: find . -iname '*.php' -o -iname '*.pl' -o -iname '*.html' -print0 | xargs -0 grep -i users ผมทำอะไรผิดหรือเปล่า? คำสั่งที่สองควรส่งคืนฉันอย่างน้อยก็เป็นไฟล์ที่เหมือนกันกับไฟล์แรก แต่ฉันไม่พบรายการใด
shell  find  xargs 

2
การติดตั้งไวน์สำรองจำเป็นต้องลบ
ฉันพบปัญหาแปลกที่ฉันติดตั้งไวน์ทำงานสองอัน อันนี้ทำให้ฉันเครียด ฉันใช้ Centos เวอร์ชั่น 5.6 ไวน์ดั้งเดิมได้รับการติดตั้งผ่านทาง rpm หรือ yum; ฉันไม่แน่ใจ yum uninstall wine ถูกเรียกใช้และประสบความสำเร็จ แต่รุ่นไวน์ 1.0 ยังคงมีอยู่ เวอร์ชั่นไวน์ใหม่รวบรวมจากแหล่งที่มา which wine ตามที่ผู้ใช้ทั่วไปให้เอาต์พุตนี้: /usr/local/bin/wine wine --version ตามที่ผู้ใช้ทั่วไปให้เอาต์พุตนี้: wine-1.0.1 ... ในฐานะที่เป็นราก which wine ให้: /usr/local/bin/wine และ wine --version ให้: wine-1.3.21 find / -name wine ให้: /etc/rc.d/init.d/wine /usr/lib/wine /usr/bin/wine /usr/share/wine /usr/local/lib/wine /usr/local/bin/wine /usr/local/share/wine …
linux  shell  unix  wine 

1
เชลล์ตัวเรียกใช้สคริปต์ทางลัดของ Ubuntu สำหรับหลาย ๆ รายการ
โอเคทุกวันฉันต้องผ่านกิจวัตรเดิมและมันน่ารำคาญ ดังนั้นฉันจึงคิดขึ้นมาและสงสัยว่ามันจะเป็นไปได้จากระยะไกลหรือไม่ สิ่งที่ฉันต้องการจะทำคือเปิดหน้าต่างเทอร์มินัล 3-5 หน้าต่างและในแต่ละครั้งเมื่อเปิดคำสั่งเฉพาะหรือเรียกใช้เชลล์สคริปต์ ด้วยคำถามของฉันจะเป็นไปได้หรือไม่และฉันจะทำอย่างไร หรือฉันจะพยายามหาสิ่งที่ฉันต้องการจะทำอย่างไร โดยทั่วไปฉันต้องการสร้างทางลัดบางประเภทในเรื่องของการพูดสิ่งที่ฉันต้องทำคือคลิกสิ่งที่ฉันวางไว้บนเดสก์ท็อปของ Ubuntu และให้เปิดเทอร์มินัล x และทำสิ่งที่ฉันต้องทำเพื่อเริ่มต้นทั้งหมด สิ่งที่ฉันต้องการเริ่มต้นขึ้นแทนที่จะต้องทำทุกอย่างด้วยตนเอง บางสิ่งที่จะโกนประมาณ 30 นาทีจากวันทำงานของฉันทุกวัน .. ฉันไม่คุ้นเคยกับสภาพแวดล้อม Linux ในการคิดอะไรบางอย่างเช่นนี้ ฉันต้องมีทุกสิ่งที่ฉันต้องการเปิดตัวเปิดตัวก่อนที่จะทำงานปกติของฉัน

1
Bash script ล้มเหลว
ฉันมีสคริปต์นี้ มันทำงานได้ดีในระบบหนึ่ง แต่ให้ข้อผิดพลาดบางอย่างกับเครื่องอื่น 1 #!/bin/bash 2 EXEC_DIR=`dirname ${0}` 3 source ${EXEC_DIR}/config.sh 4 5 last_exec_date=$(cat $EXEC_DIR/$collector_temp | tail -1) 6 7 if [ -f $EXEC_DIR/$collector_temp ]; then 8 last_exec_date=$(cat $EXEC_DIR/$collector_temp | tail -1) 9 else 10 date +%s >> ${EXEC_DIR}/$collector_temp 11 last_exec_date=$(cat $EXEC_DIR/$collector_temp | tail -1) 12 fi 13 14 15 …

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 กรุณาช่วยด้วยนี้ขอบคุณ!

1
เชื่อมต่อจากบรรทัดคำสั่ง Linux ไปยังเซิร์ฟเวอร์ FTP ด้วยพรอกซี
ฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์ FTP จากบรรทัดคำสั่ง Linux เซิร์ฟเวอร์ถูกกำหนดค่าไว้ด้านหลังพร็อกซี ถ้าฉันโทร: echo $ftp_proxy ฉันได้รับผลลัพธ์เช่นนี้: abc.def.ghi.jkl:8080 ถ้าฉันโทร: ftp -pn $ftp_proxy ฉันพบข้อผิดพลาดของโฮสต์ที่ไม่รู้จัก ฉันจะเชื่อมต่อกับเซิร์ฟเวอร์ FTP โดยใช้บรรทัดคำสั่ง Linux ได้อย่างไร
linux  shell  ftp 

5
นิพจน์ปกติเพื่อค้นหา IP ของผู้ส่งโดยใช้ grep หรือภาษาอื่น
ฉันมีไฟล์อินพุตที่มี: 19:04:01.631948 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [none], proto UDP (17), length 48) 181.173.82.61.1985 > 250.66.33.195.1985: HSRPv0-hello 20: state=active group=72 addr=171.64.72.1 hellotime=2s holdtime=7s priority=120 auth="vlan72^@^@" 19:04:02.061482 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [none], proto UDP (17), length 48) 181.173.82.60.1985 > 250.66.33.195.1985: …
linux  shell  regex  grep  awk 

1
FTP - การเชื่อมต่อถูกปฏิเสธ - Ubuntu ::: รับข้อความการเชื่อมต่อถูกปฏิเสธเมื่อพยายามเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นในเครือข่าย
ฉันได้รับข้อความการเชื่อมต่อถูกปฏิเสธเมื่อพยายามเชื่อมต่อกับคอมพิวเตอร์เครื่องอื่นในเครือข่าย ระบบ Ubuntu ของฉัน: computer1 ip: 10.0.0.1 computer2 ip: 10.0.0.2 เปลือกคอมพิวเตอร์ 1: $ ftp ftp> open 10.0.0.2 ftp: connect: Connection refused ฉันจะแก้ปัญหานี้ได้อย่างไร ขอบคุณ

0
วิธีส่งไฟล์ XML ไปยังเว็บเซิร์ฟเวอร์โดยใช้คำสั่ง wget จาก unix shell script
ฉันพยายามส่งไฟล์ xml ไปยังเว็บเซิร์ฟเวอร์โดยใช้คำสั่ง wget ในระบบยูนิกซ์ดังต่อไปนี้ wget --post-file xyz.xml http: // ฉันได้รับข้อผิดพลาด 400 คำขอไม่ถูกต้องโปรดช่วยฉัน

1
ใส่รหัสผ่านใน crosh (chrome os shell) ssh?
ฉันมี CR-48 และฉันพยายามเชื่อมต่อกับ SSHdroid ฉันเข้าใจคำสั่งมาตรฐานสำหรับการเชื่อมต่อกับ SSH คือ ssh root 192.168.2.bla แต่คุณจะระบุรหัสผ่านพร้อมกับคำสั่งนั้นได้อย่างไรเพราะมันบอกว่า No route to host

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