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

คำว่า 'เชลล์' หมายถึงคลาสทั่วไปของล่ามคำสั่งแบบโต้ตอบตามข้อความซึ่งส่วนใหญ่มักเกี่ยวข้องกับระบบปฏิบัติการ Unix & Linux สำหรับคำถามเกี่ยวกับการเขียนสคริปต์เชลล์โปรดใช้แท็กเฉพาะเพิ่มเติมเช่น 'bash', 'powershell' หรือ 'ksh' หากไม่มีแท็กเฉพาะควรใช้วิธีแก้ปัญหาแบบพกพา (POSIX-compliant) แม้ว่าจะใช้ 'posix' เพิ่มเติมหรือ 'sh' แทนก็ตาม

6
วิธีการเข้ารหัส base64 ภาพใน linux bash / shell
ฉันพยายามที่จะเข้ารหัส base64 ภาพในเชลล์สคริปต์และใส่ลงในตัวแปร: test="$(printf DSC_0251.JPG | base64)" echo $test RFNDXzAyNTEuSlBH ฉันได้ลองทำสิ่งนี้ด้วย: test=\`echo -ne DSC_0251.JPG | base64\` แต่ก็ยังไม่ประสบความสำเร็จ ฉันต้องการทำสิ่งนี้: curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload ฉันพบสิ่งนี้http://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html แต่ก็ยังไม่ประสบความสำเร็จ
107 linux  image  shell  variables  base64 

2
วิธีรักษาตัวแบ่งบรรทัดเมื่อจัดเก็บเอาต์พุตคำสั่งไปยังตัวแปร
ฉันใช้ bash shell บน Linux ฉันมีสคริปต์ง่ายๆนี้ ... #!/bin/bash TEMP=`sed -n '/'"Starting deployment of"'/,/'"Failed to start context"'/p' "/usr/java/jboss/standalone/log/server.log" | tac | awk '/'"Starting deployment of"'/ {print;exit} 1' | tac` echo $TEMP อย่างไรก็ตามเมื่อฉันเรียกใช้สคริปต์นี้ ./temp.sh ผลลัพธ์ทั้งหมดจะถูกพิมพ์โดยไม่มีการคืนแคร่ / ขึ้นบรรทัดใหม่ ไม่แน่ใจว่าเป็นวิธีที่ฉันจัดเก็บผลลัพธ์ไว้ที่ $ TEMP หรือคำสั่ง echo เอง ฉันจะจัดเก็บเอาต์พุตของคำสั่งไปยังตัวแปรและรักษาการแบ่งบรรทัด / การส่งคืนค่าขนส่งได้อย่างไร
107 linux  bash  shell  line-breaks 

6
เพิ่มนามสกุลไฟล์ซ้ำ ๆ ในไฟล์ทั้งหมด
ฉันมีไดเร็กทอรีและไดเร็กทอรีย่อยสองสามรายการที่มีไฟล์ที่ไม่มีนามสกุลไฟล์ ฉันต้องการเพิ่มลง.jpgในไฟล์ทั้งหมดที่อยู่ในไดเร็กทอรีเหล่านี้ ฉันเคยเห็นสคริปต์ทุบตีสำหรับการเปลี่ยนนามสกุลไฟล์ แต่ไม่ใช่แค่การเพิ่ม ยังต้องเรียกซ้ำใครช่วยได้ไหม

11
มีวิธีเปลี่ยนตัวแปรสภาพแวดล้อมของกระบวนการอื่นใน Unix หรือไม่?
ใน Unix มีวิธีใดบ้างที่กระบวนการหนึ่งสามารถเปลี่ยนแปลงตัวแปรสภาพแวดล้อมของอีกกระบวนการหนึ่ง (สมมติว่าพวกเขาทั้งหมดถูกเรียกใช้โดยผู้ใช้คนเดียวกัน) วิธีแก้ปัญหาทั่วไปจะดีที่สุด แต่ถ้าไม่แล้วกรณีเฉพาะที่คนหนึ่งเป็นลูกของอีกฝ่ายล่ะ? แก้ไข: แล้วทาง gdb ล่ะ


7
คำสั่ง UNIX sort จัดเรียงไฟล์ขนาดใหญ่มากได้อย่างไร
sortคำสั่งUNIX สามารถจัดเรียงไฟล์ที่มีขนาดใหญ่มากดังนี้: sort large_file อัลกอริทึมการจัดเรียงใช้งานอย่างไร เหตุใดจึงไม่ทำให้สิ้นเปลืองหน่วยความจำมากเกินไป?
105 shell  sorting 

4
รันไฟล์ java jar บนเซิร์ฟเวอร์เป็นกระบวนการเบื้องหลัง
ฉันต้องการเรียกใช้ java jar ในเซิร์ฟเวอร์เพื่อสื่อสารระหว่างสองแอปพลิเคชัน ฉันได้เขียนเชลล์สคริปต์สองตัวเพื่อเรียกใช้ แต่เมื่อฉันเริ่มต้นสคริปต์นั้นฉันไม่สามารถปิด / ยุติกระบวนการได้ ถ้าฉันกดctrl+ Cหรือปิดคอนโซลเซิร์ฟเวอร์จะปิด ใครช่วยแก้ไขสคริปต์นี้ให้ทำงานเป็นเซิร์ฟเวอร์ปกติได้ไหม #!/bin/sh java -jar /web/server.jar echo $! #> startupApp.pid

5
'git add --patch' เพื่อรวมไฟล์ใหม่?
เมื่อฉันรันgit add -pมีวิธีให้คอมไพล์เลือกไฟล์ที่สร้างขึ้นใหม่เป็น hunks เพื่อเลือกหรือไม่? ดังนั้นถ้าฉันสร้างไฟล์ใหม่ชื่อfoo.javaแล้วเรียกใช้ git add -p git จะไม่ให้ฉันเลือกเนื้อหาของไฟล์นั้นที่จะเพิ่มลงในดัชนี
105 git  shell  git-add 

5
เครื่องหมายอัฒภาคไม่จำเป็นที่ท้ายบรรทัดในเชลล์สคริปต์?
ฉันมีเชลล์สคริปต์ซึ่งมีสิ่งต่อไปนี้: case $1 in 0 ) echo $1 = 0; OUTPUT=3;; 1 ) echo $1 = 1; OUTPUT=4;; 2 ) echo $1 = 2; OUTPUT=4;; esac HID=$2; BUNCH=16; LR=.008; คือ อัฒภาคสมบูรณ์ฟุ่มเฟือยในตัวอย่างข้างต้นหรือไม่ และมีเหตุผลใดที่บางคนใช้อัฒภาคสองชั้น? ดูเหมือนว่าอัฒภาคเป็นเพียงตัวคั่นซึ่งเป็นสิ่งที่คุณจะใช้แทนบรรทัดใหม่
105 bash  shell  syntax 

7
จะตรวจสอบรุ่นของ nltk, scikit learn ที่ติดตั้งได้อย่างไร?
ในเชลล์สคริปต์ฉันกำลังตรวจสอบว่ามีการติดตั้งแพ็กเกจนี้หรือไม่หากไม่ได้ติดตั้งให้ติดตั้ง ดังนั้นด้วยเชลล์สคริปต์: import nltk echo nltk.__version__ แต่จะหยุดเชลล์สคริปต์ที่importบรรทัด ในลินุกซ์เทอร์มินัลพยายามดูในลักษณะนี้: which nltk ซึ่งไม่คิดว่ามีการติดตั้ง มีวิธีอื่นในการตรวจสอบการติดตั้งแพ็กเกจนี้ในเชลล์สคริปต์หรือไม่หากไม่ได้ติดตั้งให้ติดตั้งด้วย

7
วิธีซ่อนเอาต์พุตคำสั่งใน Bash
ฉันต้องการทำให้สคริปต์ Bash ของฉันสวยงามยิ่งขึ้นสำหรับผู้ใช้ปลายทาง ฉันจะซ่อนเอาต์พุตได้อย่างไรเมื่อ Bash รันคำสั่ง ตัวอย่างเช่นเมื่อ Bash ดำเนินการ yum install nano สิ่งต่อไปนี้จะปรากฏต่อผู้ใช้ที่ทำการ Bash: Loaded plugins: fastestmirror base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:03 extras | 3.4 kB 00:00 extras/primary_db | 18 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.8 MB 00:02 Setting up Install …
105 bash  shell 

7
การส่งผ่านตัวแปรในคำสั่ง ssh ระยะไกล
ฉันต้องการรันคำสั่งจากเครื่องของฉันโดยใช้ ssh และส่งผ่านตัวแปรสภาพแวดล้อม $BUILD_NUMBER นี่คือสิ่งที่ฉันกำลังพยายาม: ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER' $BUILD_NUMBER ถูกตั้งค่าบนเครื่องที่ทำการโทร ssh และเนื่องจากตัวแปรไม่มีอยู่บนโฮสต์ระยะไกลจึงไม่ถูกหยิบขึ้นมา ฉันจะส่งผ่านค่าของ$BUILD_NUMBER?
105 linux  bash  shell  ssh 

4
ตรวจสอบว่ามีการติดตั้งแพ็คเกจ homebrew หรือไม่
ฉันกำลังจะเขียนเชลล์สคริปต์เพื่อตรวจสอบว่ามีการติดตั้งแพ็กเกจโฮมบรูว์ในระบบหรือไม่ มีวิธีใช้คำสั่งชงเพื่อให้บรรลุสิ่งนั้นหรือไม่? ฉันลองใช้รหัสทางออกของbrew install <formula> --dry-run. แต่สิ่งนี้จะสร้างแพ็คเกจหากขาดหายไป
104 bash  shell  homebrew 

12
วิธีทำให้ grep จับคู่เฉพาะเมื่อทั้งบรรทัดตรงกัน?
ฉันมีสิ่งเหล่านี้: $ cat a.tmp ABB.log ABB.log.122 ABB.log.123 ฉันต้องการหา ABB.log ที่ตรงกันทุกประการ แต่เมื่อฉันทำ $ grep -w ABB.log a.tmp ABB.log ABB.log.122 ABB.log.123 มันแสดงให้เห็นทั้งหมด ได้สิ่งที่ต้องการโดยใช้ grep หรือไม่?
104 shell  unix  grep 

15
มีปลั๊กอิน Eclipse เพื่อรันเชลล์ระบบในคอนโซลหรือไม่ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คุณรู้จักปลั๊กอิน Eclipse เพื่อรันเชลล์ระบบในคอนโซลที่รวมหรือไม่? มันจะยอดเยี่ยมมาก Dolphin ซึ่งเป็นตัวนำทางไฟล์ของ KDE มีคุณสมบัตินี้คุณสามารถกด F4 และคอนโซลจะแสดงที่อยู่บนไดเร็กทอรีที่คุณยืนอยู่ มันจะดีมากที่จะมีฟีเจอร์ที่คล้ายกันใน Eclipse โดยเชลล์อยู่ในไดเร็กทอรีของโปรเจ็กต์ / ไฟล์ที่คุณกำลังทำงานอยู่ มีปลั๊กอินนี้หรือไม่ ถ้าไม่รหัสปลั๊กอินดังกล่าวจะซับซ้อนเกินไปหรือไม่ ฉันไม่รู้เกี่ยวกับการพัฒนาปลั๊กอิน eclipse (เลย)

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