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

เชลล์ Unix ก่อนหน้านี้ใช้โดย Terminal ใน macOS จนถึง 10.15


1
การตั้งค่าหน้าจออัตโนมัติใน command line / shell script
ดังนั้นฉันจึงกำหนดค่าแม่แบบผู้ใช้เริ่มต้น LaunchAgents เพื่อกำหนดค่าสกรีนเซฟเวอร์เริ่มต้นสำหรับแฟนอาร์ตยอดนิยมของ บริษัท ของฉัน (มันได้รับการตอบรับอย่างดีจากทีมจริงๆ) พวกเขาได้รับการออกแบบเป็นรูปภาพที่รันครั้งแรกเมื่อพวกเขาลงชื่อเข้าใช้ผู้ใช้ Active-Local Active Directory อย่างไรก็ตามตอนนี้ฉันได้รับผลลัพธ์ที่ไม่สอดคล้องกันมากนั่นคือมันไม่ทำงาน .plist เรียกใช้ Shell Script ที่อยู่ในโฟลเดอร์ / sbin / สิ่งที่แปลกคือมันใช้งานได้ในผู้ใช้ที่มีอยู่เป็นส่วนใหญ่ โปรแกรมรักษาหน้าจอมีไว้เพื่อใช้ "Flipup" กับโฟลเดอร์เฉพาะของรูปภาพ, สุ่มรูปภาพและตั้งเวลาเริ่ม 5 นาที ตัวอย่างเช่นฉันตั้งใจตั้งค่าหน้าจอ "ผู้ใช้การกำหนดค่าเริ่มต้น" เป็น "Holiday Mobile" เป็นครั้งแรกให้ตั้งค่าการเลือกรูปภาพเป็น "Cosmos" (ค่าเริ่มต้นหนึ่ง) ด้วยเวลาเริ่มต้น 20 นาทีและยกเลิกการเลือก จากนั้นฉันเปลี่ยนเป็น "Arabesque" เมื่อฉันออกจากระบบและกลับเข้าสู่ระบบเพื่อเตะในสคริปต์ผลลัพธ์คือฉันได้รับ "Holiday Mobile" อย่างไรก็ตามเมื่อฉันไปที่ "การตั้งค่าเดสก์ท็อปและสกรีนเซฟเวอร์" "Arabesque" ถูกเลือกจริง ๆ แม้ว่าตัวอย่าง "Holiday Mobile" …

1
SIPS: ปรับขนาดเฉพาะในกรณีที่ภาพเป็น 315x300 หรือไม่
ฉันกำลังใช้ sips --resampleHeightWidth 250 300 "S1" เพื่อปรับขนาดรูปภาพใหม่ในโฟลเดอร์ แต่ฉันคิดว่ามันอาจเป็นการปรับขนาดรูปภาพที่ถูกปรับขนาดเรียบร้อยแล้ว ถ้าไม่ใช่ฉันจะเพิ่มอะไรฉันก็สามารถปรับขนาดรูปภาพได้ที่ 315x300 เท่านั้น?

2
อัตโนมัติ: เป็นไปได้หรือไม่ที่จะปรับขนาดภาพเป็นขนาดไฟล์สูงสุด?
ฉันได้มองหาวิธี Automator โดยที่ไฟล์รูปภาพจะถูกปรับขนาด (ลดความสูงและความกว้าง) ให้มีขนาดไฟล์เฉพาะ (เป็นไบต์) หรือใกล้กับขอบเขตไฟล์ใกล้เคียง มันจะเป็นการใช้งานที่ยอดเยี่ยมสำหรับ Quick Actions ของ MacOS Mojave เนื่องจากการอัปโหลดเว็บไซต์จำนวนมากไม่ยอมรับภาพ iPhone ขนาดเต็ม ปรีชาญาณของฉันคือว่านี่เป็นปัญหาที่ค่อนข้างยากสำหรับ Automator ที่จะแก้ไขแม้จะมีการช่วยเหลือของการเขียนสคริปต์ทุบตี ฯลฯ โดยทั่วไปแอพพลิเคชั่นอย่าง Adobe Photoshop นั้นไม่ค่อยดีเท่าการทำนายขนาดไฟล์สุดท้าย เป็นต้นบางทีมันอาจลดขนาดภาพลงเรื่อย ๆ จนกว่ามันจะต่ำกว่าขนาดไฟล์สูงสุด ที่ง่ายที่สุดคือถ้าเป็นอรรถประโยชน์สำหรับสคริปต์นี้ ฉันคิดว่าจะถามว่า: a) สิ่งนี้เป็นไปได้และ b) จะทำอย่างไร?

1
'sudo ifconfig en0 down' - ไม่ได้ค้างอยู่ใน OS X?
เป้าหมายของฉันคือยกเลิกทราฟฟิกอีเธอร์เน็ตทั้งหมดผ่าน en0 จนกว่าฉันจะนำมันกลับมาด้วย ifconfig en0 up. เมื่อฉันวิ่ง ifconfig en0 down ผ่านเทอร์มินัลแล้วยืนยัน ifconfig และอินเทอร์เฟซทั้งหมดไม่ทำงาน อย่างไรก็ตามในวันถัดไปฉันพบว่า en0 สำรองโดยอัตโนมัติ ฉันจะทราบได้อย่างไรว่าเกิดอะไรขึ้นและมีวิธีที่ดีกว่าที่จะทำให้แน่ใจได้หรือไม่

1
วิธีการติดตั้ง GNU-sed
ฉันพยายามติดตั้ง GNU sed ดังต่อไปนี้ โพสต์นี้ ฉันทำ brew install gnu-sed นิรนัยมันไปได้ดี แต่แล้วคำสั่ง gsed ไม่พบ ฉันไม่พบสิ่งใด gnu-sed (หรือเทียบเท่า) ใน /usr/local/bin/ ยกเว้นมาตรฐาน sed. ฉันใช้ Mac OS X 10.11.3

0
การเพิ่มไดเรกทอรีไปยัง $ PATH ไม่สามารถใช้งานได้ในโยเซมิตี
ฉันพยายามทำทั้งสองวิธี: 1. ฉันแก้ไข ~/.bash_profile ชอบมาก: $ cat ~/.bash_profile export PATH="${PATH};~/bin" $ $ ls -l ~/.bash_profile -rw-r--r-- 1 myuser staff 202 Oct 1 16:57 /Users/myuser/.bash_profile 2. ฉันแก้ไข /etc/paths ชอบมาก: $ cat /etc/paths /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Users/myuser/bin ดังนั้นตอนนี้เส้นทางของฉันจะเป็นดังนี้: $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/myuser/bin;~/bin แต่ฉันก็ยังไม่สามารถเรียกใช้ไฟล์ที่ฉันมี ~/bin: $ ls -l ~/bin total 8 …
1 macos  bash  path 

0
รับ bash-3.2 ทุกครั้งที่ฉัน“ su”
เมื่อใดก็ตามที่ฉันเข้าใจ PS1 จะเปลี่ยนเป็น \ s- \ v \ $ ทำไมถึงเป็นอย่างนั้น? พยายามตั้งค่า แต่ก็ยังคงเปลี่ยนเมื่อฉัน su อีกครั้งหรือออกจากสถานี จะทำอย่างไร?
1 bash  sudo 

1
สิ่งที่อาจทำให้สคริปต์สำรองของฉันไม่ทำงาน
ฉันมีปัญหาในการเรียกใช้สคริปต์สำรองอย่างง่าย สคริปต์ต่อไปนี้ทำงานเกือบตลอดเวลา แต่บางครั้งสคริปต์จะล้มเหลวทั้งหมด (โดยไม่ต้องพิมพ์ข้อมูลบันทึกใด ๆ ) มีบางอย่างในสคริปต์ที่สามารถป้องกันไม่ให้สคริปต์ทำงานเป็นระยะหรือไม่ แม้ว่าจะรันบางครั้งข้อความบันทึกการทดสอบจะปรากฏขึ้นล่าช้าในบางครั้ง (ราวกับว่าไฟล์บันทึกการทำงานไม่ได้ถูกสัมผัสเมื่อมีการเขียนหรือการเขียนไปยังไฟล์บันทึกล่าช้า) ทำให้การวินิจฉัยทำได้ยาก #!/bin/bash printf "`date`: Start of Runkit backup Power Manager script:\n" >> ~/Library/Logs/Mine/tests.log if [ $(mount | grep -c '/Volumes/Run Kit') != 1 ] then printf "\tDon't copy: /Volumes/Run Kit not mounted\n" >> ~/Library/Logs/Mine/tests.log else if [ $(pmset -g ac | …

2
ทำไม sh -c 'echo -n 1' จึงแตกต่างจาก bash -c 'echo -n 1'
ฉันใช้ Mac Book Air, OSX 10.8 ฉันพยายามเข้าใจว่าเพราะเหตุใดข้อมูลโค้ดทั้งสองนี้จึงไม่พิมพ์ผลลัพธ์เดียวกัน sh -c 'echo -n 1'เอาท์พุท-n 1ในขณะที่ bash -c 'echo -n 1'เอาท์พุท1ตามที่คาดไว้ คุณสามารถช่วยฉันอธิบายสาเหตุและวิธีทำให้ผลลัพธ์เหมือนเดิม (ถ้าเป็นไปได้ทั้งหมด)?

0
Disk Utility แม่นยำมากในสถานะ SMART หรือไม่? [ปิด]
ดังนั้นฉันจึงมีสคริปต์ทุบตีง่าย ๆ ซึ่งตรวจสอบว่าสถานะสมาร์ทของฉันได้รับการตรวจสอบแล้วหรือไม่ถ้าไม่ใช่จะเป็นการแจ้งเตือนป๊อปอัป แต่ยูทิลิตี Disk นั้นมีความแม่นยำมากเมื่อไดรฟ์ล้มเหลวหรือไม่ เช่นสมมติว่า OEM SSD ของฉันล้มเหลวหนึ่งวันมันจะแสดงสถานะ SMART ให้ฉันเป็น "ล้มเหลว" หรือไม่ ฉันมีเซียร่าสูงบนเครื่อง Mac ตัวอย่าง

1
ช่วยในการรอในขณะที่กระบวนการกำลังทำงานอยู่
ฉันกำลังมองหาสคริปต์ทุบตีที่ตรวจสอบว่ากระบวนการติดตั้งกำลังทำงานอยู่และรอ / หยุดชั่วคราวหากกระบวนการนั้นดำเนินการต่อเมื่อกระบวนการไม่ทำงานอีกต่อไป นี่คือสิ่งที่ฉันมี: #!/bin/bash PROCESS="Installer"; PID=$(ps -A |grep -m1 "$PROCESS" | awk '{print $1}'); while s=`ps -p $PID -o s=` && [[ "$s" && "$s" !='Z' ]]; do echo "$PROCESS is Running, waiting for it to close" sleep 1 done echo "$PROCESS is not Running"; SCRIPT HERE
1 bash  script 

1
เปิดใช้งานการจัดการระยะไกลจากระยะไกลบน mac
ฉันกำลังพยายามใช้เดสก์ท็อประยะไกลเพื่อส่งสคริปต์ไปยัง Mac ทั้งหมดในเครือข่ายของฉันที่สร้างบัญชีผู้ดูแลระบบเพิ่มเติมและซ่อนไว้ ฉันพยายามทำสิ่งนี้โดยใช้ Apple Remote Desktop อย่างไรก็ตามแม็คเหล่านี้ส่วนใหญ่ปิดใช้งานการจัดการระยะไกล ฉันจะเปิดใช้งานสิ่งนี้ได้อย่างไร Mac แต่ละเครื่องมีบัญชีผู้ดูแลระบบอยู่แล้ว มันช่วยได้ไหม ฉันสามารถทำได้ผ่านการล็อกอินระยะไกล (ssh) หรือไม่ แต่แม็คเหล่านี้ส่วนใหญ่ก็ปิดการใช้งานเช่นกัน ขอบคุณสำหรับความช่วยเหลือล่วงหน้า

4
นำ Terminal เก่าของฉันกลับมาหลังจากถอนการติดตั้งปลา
เมื่อเร็ว ๆ นี้ฉันรู้สึกเบื่อกับข้อบกพร่องเล็ก ๆ ที่ Fish Shell มอบให้ฉันด้วย (คำสั่งที่ไม่สามารถค้นพบได้ ฯลฯ ) ดังนั้นฉันตัดสินใจว่าฉันต้องการเปลี่ยนเชลล์กลับเป็นปกติและถอนการติดตั้งปลา อย่างไรก็ตามในกระบวนการของการทำเช่นนั้นฉันได้ทำอะไรผิดอย่างมาก ฉันได้ตั้งเป็นปกติ: /bin/bash อย่างไรก็ตาม Im แทนด้วยชุดของพรอมต์ (เกี่ยวกับ Vagrant) และต้องออกจากสิ่งนี้ด้วยคำสั่ง CTRL + C (ยกเลิก) ฉันต้องการรับเครื่องเก่าของฉันกลับ (พร้อมโฟลเดอร์ปัจจุบันของฉันไว้ล่วงหน้า ฯลฯ ) แต่ฉันไม่มีเงื่อนงำในการทำสิ่งนี้ให้สำเร็จ ฉันได้แนบภาพหน้าจอสองหน้า หนึ่งคือเทอร์มินัลปัจจุบัน (อันที่มี bash -bash-3.2$อยู่ข้างหน้าอันที่สองคือเทอร์มินัลที่ฉันต้องการ (ค่าเริ่มต้นพร้อมชื่อผู้ใช้ต่อท้าย) [แหล่งที่มาของภาพถูกพบบนอินเทอร์เน็ตเพื่อการอ้างอิง] นี่คือเทอร์มินัลที่ฉันมี นี่คือเทอร์มินัลที่ฉันต้องการ ฉันพบสองสิ่ง: โปรไฟล์ทุบตีของฉันถูกลบดังนั้นฉันไม่เห็นชื่อคอมพิวเตอร์ของฉัน ฯลฯ ฉันพยายามสร้างใหม่ แต่: ฉันต้องการตัวอย่าง. bash_profile ... และฉันต้องการให้ขัดขืนเช่นนี้เมื่อฉันออกจากเทอร์มินัลฉันไม่ได้ทำการเริ่มต้นสคริปต์VVV (ซึ่งเห็นได้ชัดว่ามันจะดับลงเมื่อมันเข้าสู่เครื่องครั้งแรก)

1
แอป Ssh บน iPad รันสคริปต์ทุบตี
ServerAuditor เป็นแอป iPad ฟรีที่อนุญาตให้ ssh ไปยังเซิร์ฟเวอร์ ฉันพยายามที่จะคัดลอกกุญแจสาธารณะของฉันไปยังเซิร์ฟเวอร์เพื่อให้รหัสผ่านเข้าสู่ระบบน้อยลง บนพีซีสิ่งนี้ง่าย - สร้าง terminal rsa key open และ a@A:~> cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys' b@B's password: ใส่รหัสผ่านและฉันดี แอพนี้มีสคริปต์ต่อไปนี้โดยที่ $ 1 คือ. ssh และ $ 2 เป็นกุญแจที่ได้รับอนุญาตและ $ 3 เป็นกุญแจสาธารณะ if test ! -e $1; then mkdir $1; chmod 700 $1; …
1 ipad  terminal  bash  ssh 

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