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

สคริปต์คือชุดคำสั่งที่เขียนในไฟล์ "ข้อความธรรมดา" ตัวแปลสคริปต์ (ตัวอย่างเช่น Bash หรือ shell อื่น, Python, Perl, Ruby, ฯลฯ ) อ่านไฟล์และดำเนินการตามคำแนะนำราวกับว่าพวกมันถูกป้อนที่ command prompt

16
ฉันจะรันสคริปต์. sh ได้อย่างไร
เมื่อใดก็ตามที่ฉันเปิดไฟล์. sh มันจะเปิดเป็น gedit แทนที่จะเป็นเทอร์มินัล ฉันไม่สามารถหาตัวเลือกใด ๆ ที่คล้ายกับการคลิกขวา → เปิดด้วย → แอพลิเคชันอื่น ๆ ... → ร์มินัล ฉันจะเปิดไฟล์นี้ในเทอร์มินัลได้อย่างไร

2
ความแตกต่างระหว่าง / bin, / sbin, / usr / bin, / usr / sbin, / usr / local / bin, / usr / local / sbin
ฉันมีหกไดเรกทอรีพร้อมไฟล์คำสั่ง เหล่านี้เป็น/bin, /sbin, /usr/bin, /usr/sbin, และ/usr/local/bin/usr/local/sbin ความแตกต่างระหว่างสิ่งเหล่านี้คืออะไร? หากฉันเขียนสคริปต์ของตัวเองฉันจะเพิ่มได้ที่ไหน ที่เกี่ยวข้อง: จะเข้าใจเค้าโครงของระบบไฟล์ Ubuntu ได้อย่างไร / usr / bin vs / usr / local / bin บน Linux ฉันควรใส่สคริปต์ทุบตีของฉันที่ไหน

4
อะไรคือความแตกต่างระหว่าง #! / bin / sh และ #! / bin / bash?
ถ้าฉันเขียน #!/bin/bash echo "foo" หรือ #!/bin/sh echo "foo" ทั้งสองให้ผลเหมือนกัน ผมเคยเห็นบางสคริปต์ที่เริ่มต้นด้วยหรือ#!/bin/sh #!/bin/bashมีความแตกต่างระหว่างพวกเขาหรือไม่?
280 bash  scripts  sh  shebang 

4
ssh: รับกุญแจอัตโนมัติ
ฉันได้เขียนสคริปต์อรรถประโยชน์นี้ขนาดเล็ก: for h in $SERVER_LIST; do ssh $h "uptime"; done เมื่อเซิร์ฟเวอร์ใหม่ถูกเพิ่มเข้าไป$SERVER_LISTสคริปต์จะหยุดทำงานด้วย: The authenticity of host 'blah.blah.blah (10.10.10.10)' can't be established. RSA key fingerprint is a4:d9:a4:d9:a4:d9a4:d9:a4:d9a4:d9a4:d9a4:d9a4:d9a4:d9. Are you sure you want to continue connecting (yes/no)? ฉันได้ลองyes: for h in $SERVER_LIST; do yes | ssh $h "uptime"; done โดยไม่มีโชค มีวิธีในsshการ จำกัด การรับรหัสใหม่ใด …
218 ssh  scripts  openssh 

12
ฉันจะรับรายการที่เก็บข้อมูลและ PPA ทั้งหมดจากบรรทัดคำสั่งไปยังสคริปต์การติดตั้งได้อย่างไร
ฉันรู้วิธีแสดงรายการแพ็คเกจทั้งหมดที่ติดตั้งในระบบของฉัน แต่ฉันจะดูรายการที่เก็บข้อมูลและ PPA ทั้งหมดในสคริปต์ที่ฉันสามารถเรียกใช้บนเครื่องใหม่เพื่อจำลองการตั้งค่าพื้นที่เก็บข้อมูลรวมถึงคีย์ได้อย่างไร ฉันรู้ว่าฉันสามารถตรวจสอบ/etc/apt/sources.listและ/etc/apt/sources.list.dแต่ฉันกำลังมองหาวิธีการสร้างสคริปต์ที่ดำเนินการapt-add-repositoryคำสั่งทั้งหมดในระบบใหม่ (ที่เรียงลำดับออกรับคีย์ทั้งหมด) ความคิดใด ๆ


3
คำสั่งเพื่อเพิ่มบรรทัดลงในไฟล์ข้อความโดยไม่ต้องเปิดเอดิเตอร์
สมมติว่าฉันมีบรรทัดที่ฉันต้องการเพิ่มลงในไฟล์โดยไม่ต้องเปิดโปรแกรมแก้ไข ฉันจะต่อท้ายบรรทัดนี้ได้อย่างไร alias list='ls -cl --group-directories-first' ไฟล์นี้ config.fish

8
ทำซ้ำคำสั่งทุกช่วงเวลา x ในเทอร์มินัลหรือไม่?
ฉันจะทำซ้ำคำสั่งทุกช่วงเวลาเพื่อที่จะให้ฉันเรียกใช้คำสั่งสำหรับการตรวจสอบ หรือตรวจสอบ ไดเรกทอรี? ไม่จำเป็นต้องใช้สคริปต์ฉันต้องการเพียงคำสั่งง่ายๆที่จะดำเนินการใน terminal

6
ฉันจะสร้างสคริปต์ที่เปิดหน้าต่างเทอร์มินัลและดำเนินการคำสั่งได้อย่างไร
ฉันมีสามสคริปต์ที่ฉันจำเป็นต้องเรียกใช้เมื่อฉันเริ่มต้นเครื่อง Ubuntu ของฉันพวกเขาเริ่มบริการที่ฉันใช้ในสภาพแวดล้อมการพัฒนาของฉัน ในการทำเช่นนั้นฉันเปิดเทอร์มินัลสามรายการด้วยตนเองและพิมพ์คำสั่ง มีวิธีใดในการสร้างสคริปต์ที่จะเปิดเทอร์มินัลสามตัวและดำเนินการคำสั่งเดียวในแต่ละรายการ (แต่ละคำสั่งควรอยู่ในหน้าต่างเทอร์มินัลแยกต่างหากเพื่อให้ฉันเห็นผลลัพธ์)

11
ฉันจะสร้างเมนูเลือกในเชลล์สคริปต์ได้อย่างไร
ฉันกำลังสร้างสคริปต์ทุบตีง่าย ๆ และฉันต้องการสร้างเมนูที่เลือกไว้ในนั้นเช่นนี้: $./script echo "Choose your option:" 1) Option 1 2) Option 2 3) Option 3 4) Quit และตามทางเลือกของผู้ใช้ฉันต้องการให้มีการดำเนินการที่แตกต่างกัน ฉันเป็นคนเขียนสคริปต์เปลือกหอยทุบตีฉันได้ค้นหาคำตอบบางอย่างในเว็บ แต่ไม่มีอะไรเป็นรูปธรรมจริงๆ

7
วิธีอ่านบรรทัดทั้งหมดในลูป 'สำหรับ' พร้อมช่องว่าง
ฉันพยายามเรียกใช้forลูปสำหรับไฟล์และฉันต้องการแสดงทั้งบรรทัด แต่แทนที่จะแสดงคำสุดท้ายเท่านั้น ฉันต้องการเส้นสมบูรณ์ for j in `cat ./file_wget_med` do echo $j done ผลหลังจากรัน: Found. นี่คือข้อมูลของฉัน: $ cat file_wget_med 2013-09-11 14:27:03 ERROR 404: Not Found.

10
วิธีรันสคริปต์เพียงแค่ดับเบิลคลิกเช่นไฟล์. EXE ใน Windows
ฉันจะสร้างสคริปต์ทุบตีได้ด้วยการดับเบิลคลิกเช่นเดียวกับ.exeไฟล์ใน Windows ฉันพยายามสร้างตัวเรียกใช้งานและกำหนดสคริปต์ให้กับมันแต่มีสองผล: เทอร์มินัลกระพริบตาหายไปและไม่มีอะไรทำ คุณต้องระบุให้ทำงานในเทอร์มินัลเพื่อที่จะทำงาน ฉันมีสคริปต์ที่ติดตั้ง Tomcat บนพีซีออฟไลน์รวมถึงการขึ้นต่อกันทั้งหมดของ Tomcat ในสคริปต์ ฉันต้องทำให้สคริปต์ทำงานบนการดับเบิลคลิกเช่น windows เนื่องจากผู้ที่ใช้สคริปต์ส่วนใหญ่จะไม่คุ้นเคยกับ Ubuntu ลืมคำอธิบายข้างต้น ฉันต้องการสร้างสคริปต์ที่สามารถเรียกใช้งานได้โดยดับเบิลคลิกที่สคริปต์โดยไม่ต้องใช้ Terminal มีใครรู้บ้างไหม

5
'chmod u + x' กับ 'chmod + x'
ความแตกต่างระหว่างchmod u+xและเพียงchmod +xคืออะไร? ฉันได้เห็นแบบฝึกหัดมากมายที่บอกว่าใช้u+xเพื่อทำให้สคริปต์ทำงานได้ อย่างไรก็ตามการละเว้นสิ่งuนั้นดูเหมือนจะไม่มีผลใด ๆ

7
ไม่สามารถเรียกใช้ไฟล์. sh: / bin / bash ^ M: ล่ามที่ไม่ดี
ฉันต้องการรันเชลล์สคริปต์: -rwxr-x--x 1 root root 17234 Jun 6 18:31 create_mgw_3shelf_6xIPNI1P.sh ฉันพยายามทำตามขั้นตอนมาตรฐาน แต่ฉันพบข้อผิดพลาดนี้: ./create_mgw_3shelf_6xIPNI1P.sh localhost 389 -l /opt/fews/sessions/AMGWM19/log/2013-06-06-143637_CLA-0 DEBUG cd/etc/opt/ldapfiles/ldif_in ; ./create_mgw_3shelf_6xIPNI1P.sh localhost 389 -l /opt/fews/sessions/AMGWM19/log/2013-06-06-143637_CLA-0 **ERROR sh: ./create_mgw_3shelf_6xIPNI1P.sh: /bin/bash^M: bad interpreter: No such file or directory** มันหมายความว่าอะไร? ฉันทำสิ่งนี้ในฐานะrootผู้ใช้ภายใต้rootกลุ่ม หมายความว่าไฟล์ไม่มีสิทธิ์ที่ถูกต้องสำหรับrootผู้ใช้หรือไม่?

11
สคริปต์จะตรวจสอบได้อย่างไรว่ามันถูกเรียกใช้ในฐานะรูท
ฉันกำลังเขียนสคริปต์ทุบตีง่าย ๆ แต่ฉันต้องการให้ตรวจสอบว่ามันถูกเรียกใช้เป็น root หรือไม่ ฉันรู้ว่าอาจเป็นวิธีที่ง่ายมากในการทำเช่นนั้น แต่ฉันไม่รู้ว่าทำอย่างไร เพียงเพื่อจะชัดเจน: อะไรวิธีง่ายๆในการเขียนสคริปต์foo.shเพื่อให้คำสั่ง./foo.shผล0และคำสั่งsudo ./foo.shผล1?
104 bash  scripts  root 

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