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

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

5
ฉันจะเปลี่ยน bash history เสร็จสิ้นเพื่อทำสิ่งที่มีอยู่แล้วได้อย่างไร
ฉันพบคำสั่งเมื่อสองสามเดือนก่อนที่ทำให้ประวัติ bash ของฉันสมบูรณ์โดยอัตโนมัติในสิ่งที่มีอยู่แล้วในบรรทัดเมื่อกดลูกศรขึ้น: $ vim fi กด ↑ $ vim file.py ฉันต้องการตั้งค่านี้ในคอมพิวเตอร์เครื่องใหม่ของฉันเพราะจะช่วยประหยัดเวลาได้มากในการเก็บประวัติที่ยิ่งใหญ่ ปัญหาคือฉันจำไม่ได้ตลอดชีวิตว่ามีการพูดถึงที่ไหนและการอ่านข้อมูลอ้างอิงและแบบฝึกหัดทุบตีที่ไม่มีที่สิ้นสุดก็ไม่ได้ช่วยอะไรเช่นกัน ไม่มีใครรู้คำสั่ง?
136 linux  bash  shell 

4
วิธีตั้งค่าตัวแปรสภาพแวดล้อมของกระบวนการลูกใน Makefile
ฉันต้องการเปลี่ยน Makefile นี้: SHELL := /bin/bash PATH := node_modules/.bin:$(PATH) boot: @supervisor \ --harmony \ --watch etc,lib \ --extensions js,json \ --no-restart-on error \ lib test: NODE_ENV=test mocha \ --harmony \ --reporter spec \ test clean: @rm -rf node_modules .PHONY: test clean ถึง: SHELL := /bin/bash PATH := node_modules/.bin:$(PATH) boot: @supervisor …

8
จัดเรียงคอลัมน์ใหม่โดยใช้การตัด
ฉันมีไฟล์ในรูปแบบต่อไปนี้ คอลัมน์ 1 คอลัมน์ 2 str1 1 str2 2 str3 3 ฉันต้องการจัดเรียงคอลัมน์ใหม่ ฉันลองคำสั่งด้านล่าง ตัด -f2,1 file.txt คำสั่งไม่เรียงลำดับคอลัมน์ใหม่ มีความคิดว่าทำไมจึงไม่ทำงาน? ขอบคุณ.
135 shell 

6
อะไรคือความแตกต่างระหว่าง $ {var},“ $ var” และ“ $ {var}” ใน Bash shell?
อะไรชื่อกล่าวว่า: สิ่งที่ไม่ได้หมายถึงการแค็ปซูลตัวแปรใน{}, ""หรือ"{}?" ผมยังไม่ได้รับสามารถที่จะหาคำอธิบายใด ๆ ออนไลน์เกี่ยวกับเรื่องนี้ - ฉันไม่ได้รับสามารถที่จะหมายถึงพวกเขายกเว้นสำหรับการใช้สัญลักษณ์ซึ่ง ไม่ให้ผลอะไรเลย นี่คือตัวอย่าง: declare -a groups groups+=("CN=exampleexample,OU=exampleexample,OU=exampleexample,DC=example,DC=com") groups+=("CN=example example,OU=example example,OU=example example,DC=example,DC=com") นี้: for group in "${groups[@]}"; do echo $group done พิสูจน์ได้ว่าแตกต่างจากนี้มาก: for group in $groups; do echo $group done และนี่: for group in ${groups}; do echo $group done สิ่งแรกเท่านั้นที่บรรลุสิ่งที่ฉันต้องการ: เพื่อวนซ้ำผ่านแต่ละองค์ประกอบในอาร์เรย์ ฉันไม่ได้จริงๆที่ชัดเจนเกี่ยวกับความแตกต่างระหว่าง$groups, "$groups", และ${groups} …
135 bash  shell  variables  syntax 

26
วิธีการทำซ้ำคำสั่งสุดท้ายใน python interpreter shell อย่างไร
ฉันจะทำซ้ำคำสั่งสุดท้ายได้อย่างไร ปุ่มปกติ: ขึ้น, Ctrl + Up, Alt-p ไม่ทำงาน พวกเขาผลิตตัวละครไร้สาระ (ve)[kakarukeys@localhost ve]$ python Python 2.6.6 (r266:84292, Nov 15 2010, 21:48:32) [GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print "hello world" hello world >>> ^[[A File "<stdin>", line 1 ^ SyntaxError: …

14
วิธีดำเนินการคำสั่ง MySQL จากเชลล์สคริปต์
ฉันจะเรียกใช้คำสั่ง SQL ผ่านเชลล์สคริปต์เพื่อให้เป็นแบบอัตโนมัติได้อย่างไร ฉันต้องการกู้คืนข้อมูลที่รวบรวมไว้ในไฟล์ SQL โดยใช้เชลล์สคริปต์ ฉันต้องการเชื่อมต่อกับเซิร์ฟเวอร์และกู้คืนข้อมูล คำสั่งจะทำงานเมื่อดำเนินการแยกกันผ่านบรรทัดคำสั่ง SSH นี่คือคำสั่งที่ฉันใช้: mysql -h "server-name" -u root "password" "database-name" < "filename.sql" นี่คือโค้ดเชลล์สคริปต์ที่สร้างไฟล์ds_fbids.sqlและไพพ์ไปยัง mysql perl fb_apps_frm_fb.pl perl fb_new_spider.pl ds_fbids.txt ds_fbids.sql mysql -h dbservername -u username -ppassword dbname < ds_fbids.sql วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?
134 mysql  shell  ssh 

22
วิธีที่ดีกว่าในการเพิ่มหมายเลขบิวด์?
ฉันใช้เชลล์สคริปต์เป็นส่วนหนึ่งของกระบวนการสร้าง Xcode ของฉันเพื่อเพิ่มหมายเลขบิลด์ภายในไฟล์plistแต่มันทำให้ Xcode 4.2.1 ขัดข้องบ่อยครั้ง (มีข้อผิดพลาดเกี่ยวกับเป้าหมายที่ไม่ได้เป็นของโปรเจ็กต์ฉันเดาว่า การเปลี่ยนไฟล์plistทำให้ Xcode สับสนไม่ทางใดก็ทางหนึ่ง) เชลล์สคริปต์ทำสิ่งนี้เพื่อให้หมายเลขบิลด์เพิ่มขึ้นagvtoolเมื่อไฟล์ใหม่กว่าไฟล์plist เท่านั้น (ดังนั้นการสร้างไม่ได้เพิ่มค่า): if [ -n \"`find ProjDir -newer ProjDir/Project-Info.plist`\" ]; then agvtool -noscm next-version -all; else echo \"Version not incremented\"; fi มีวิธีเพิ่มหมายเลขบิลด์ (ในไฟล์plistหรือที่อื่น ๆ ) ที่ไม่ทำลาย Xcode หรือไม่ แก้ไข FINAL : ตอนนี้ผมทำชนิดของสิ่งนี้ใช้สคริปต์หลามที่ฉันได้ทำเพียงสาธารณะบนGitHub ไม่ได้มีการจัดทำเอกสารไว้อย่างดี แต่ไม่น่าจะยากที่จะหาข้อมูลออกมา ในฐานะโบนัส repo นี้ยังมีสคริปต์ที่มีประโยชน์ในการรวมไลบรารีของบุคคลที่สามไว้ในแอปบันเดิลโดยอัตโนมัติ
133 xcode  shell  version  xcrun  agvtool 

7
วิธีส่งอาร์กิวเมนต์ไปยัง Shell Script ผ่านนักเทียบท่าทำงาน
ฉันยังใหม่กับโลกของนักเทียบท่า ฉันต้องเรียกใช้เชลล์สคริปต์ที่รับอาร์กิวเมนต์บรรทัดคำสั่งผ่านคอนเทนเนอร์นักเทียบท่า ตัวอย่าง: เชลล์สคริปต์ของฉันมีลักษณะดังนี้: #!bin/bash echo $1 Dockerfile มีลักษณะดังนี้: FROM ubuntu:14.04 COPY ./file.sh / CMD /bin/bash file.sh ฉันไม่แน่ใจว่าจะส่งผ่านข้อโต้แย้งในขณะที่เรียกใช้คอนเทนเนอร์ได้อย่างไร

30
ใส่ซับในหนึ่งอันเพื่อนำหน้าไฟล์
นี้น่าจะเป็นวิธีการแก้ปัญหาที่ซับซ้อน ฉันกำลังมองหาตัวดำเนินการง่ายๆเช่น ">>" แต่สำหรับการสั่งซื้อล่วงหน้า ฉันกลัวว่ามันจะไม่มีอยู่จริง ฉันจะต้องทำสิ่งที่ชอบ mv myfile tmp แมว myheader tmp> myfile อะไรที่ฉลาดกว่านี้?
132 shell  unix 

4
ไวยากรณ์หลายบรรทัดสำหรับการวางท่อ heredoc; พกพาได้ไหม
ฉันคุ้นเคยกับไวยากรณ์นี้: cmd1 << EOF | cmd2 text EOF แต่เพิ่งค้นพบว่า bash ช่วยให้ฉันเขียน: cmd1 << EOF | text EOF cmd2 (heredoc ใช้เป็นอินพุตไปยัง cmd1 และเอาต์พุตของ cmd1 จะถูกส่งไปยัง cmd2) นี่ดูเหมือนไวยากรณ์ที่แปลกมาก พกพาได้ไหม
132 bash  shell  pipe  sh  heredoc 

4
"ผลรวม" ในบรรทัดแรกหลัง ls -l คืออะไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ อะไรคือสิ่งที่totalอยู่ในการส่งออกของls -l? $ ls -l /etc total 3344 -rw-r--r-- 1 root root 15276 Oct 5 2004 a2ps.cfg -rw-r--r-- 1 root root 2562 Oct 5 2004 a2ps-site.cfg drwxr-xr-x 4 root root 4096 Feb 2 2007 acpi -rw-r--r-- 1 root root 48 …
132 linux  shell  unix  command  prompt 

12
รับรหัสทางออกของกระบวนการเบื้องหลัง
ฉันมีคำสั่ง CMD ที่เรียกจากสคริปต์ bourne เชลล์หลักของฉันซึ่งใช้เวลาตลอดไป ฉันต้องการแก้ไขสคริปต์ดังนี้: รันคำสั่ง CMD แบบขนานเป็นกระบวนการพื้นหลัง ( CMD &) ในสคริปต์หลักมีลูปเพื่อตรวจสอบคำสั่งที่เกิดทุกสองสามวินาที ลูปยังสะท้อนข้อความบางส่วนเพื่อแสดงความคืบหน้าของสคริปต์ ออกจากลูปเมื่อคำสั่ง spawned สิ้นสุดลง จับภาพและรายงานรหัสทางออกของกระบวนการสร้าง ใครช่วยชี้แนะให้ฉันทำสิ่งนี้ให้สำเร็จได้ไหม
132 linux  shell  unix  process 

20
unix - หัวและส่วนท้ายของไฟล์
สมมติว่าคุณมีไฟล์ txt คำสั่งในการดู 10 บรรทัดบนสุดและ 10 บรรทัดล่างพร้อมกันคืออะไร? เช่นถ้าไฟล์มีความยาว 200 บรรทัดให้ดูบรรทัด 1-10 และ 190-200 ในครั้งเดียว
131 linux  bash  shell  unix  scripting 

18
จะลบประวัติ 10 คำสั่งล่าสุดในเชลล์ได้อย่างไร
คำสั่งดังต่อไปนี้ 511 clear 512 history 513 history -d 505 514 history 515 history -d 507 510 513 516 history 517 history -d 509 518 history 519 history -d 511 520 history ฉันสามารถลบทีhistory -d 511ละคำสั่ง แต่จะลบ 10 คำสั่งสุดท้ายและระหว่าง 10 คำสั่งประวัติโดยใช้คำสั่งเดียวในเชลล์ได้อย่างไร เราสามารถเขียน bash script และดำเนินการลบประวัติได้หรือไม่?
131 linux  bash  shell  terminal 

7
วิธีรับชื่อคีย์จาก JSON โดยใช้ jq
curl http://testhost.test.com:8080/application/app/version | jq '.version' | jq '.[]' คำสั่งด้านบนแสดงเฉพาะค่าดังต่อไปนี้: "madireddy@test.com" "2323" "test" "02-03-2014-13:41" "application" ฉันจะรับชื่อคีย์แทนดังต่อไปนี้ได้อย่างไร: email versionID context date versionName
131 json  shell  unix  key  jq 

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