Lỗi khi chạy tập lệnh bash - Không có quy trình khớp


-1

Tôi đang cố gắng giết Xcode bằng cách chạy killall Xcode.app, nó hoạt động bình thường khi tôi chạy nó qua thiết bị đầu cuối. Tuy nhiên, nếu tôi đặt nó vào tập lệnh bash mà tôi giữ trên Bàn làm việc được gọi re_xcode, tập lệnh sẽ xuất ra lỗi sau. Xin vui lòng cho tôi biết tôi đang đi sai ở đâu?

Không tìm thấy quy trình phù hợp thuộc về bạn

Tệp /Users/Max/Desktop/Appluggest/Xcode.app không tồn tại.

#!/bin/bash
killall Xcode.app
open ./Applications/Xcode.app

-1 Hai lỗ hổng cơ bản trong hai lệnh khiến tôi tin rằng bạn không nghiên cứu trước khi đăng. Sửa lỗi cho tôi nếu tôi sai.
Daniel Beck

Câu trả lời:


3

Hai sai lầm:

  1. killalllấy một tên quá trình làm đối số. Xcode.apptuy nhiên là một gói ứng dụng. Nó chứa nhiều hơn chỉ là quá trình, bao gồm tất cả các loại tệp cũng thuộc về một ứng dụng (đồ họa, dữ liệu dịch, et cetera).

    Do đó, cách thực sự để tiêu diệt Xcode sẽ là:

    killall Xcode

    Hoặc, theo cách lành mạnh, sử dụng AppleScript:

    osascript -e 'tell app "Xcode" to quit'        
  2. Lỗi khác của bạn là .tham chiếu thư mục mà tập lệnh hiện tại của bạn nằm trong đó, có thể là bất cứ điều gì. Trong trường hợp của bạn, đó là máy tính để bàn. Do đó, killlệnh của bạn hoạt động tốt, nhưng opensẽ thất bại vì không có thư mục Xcode (hoặc "ứng dụng") trên máy tính để bàn của bạn.

    Xcode không cài đặt /Developernữa. Phiên bản Mac App Store là một ứng dụng độc lập bên dưới /Applications/Xcode.app. Vì vậy, bạn có thể làm:

    open /Applications/Xcode.app

    Tuy nhiên, giải pháp di động nhất sẽ chỉ là sử dụng:

    open -a Xcode

    Điều này sẽ mở Xcode bất cứ nơi nào nó được cài đặt vì nó dựa trên cơ sở dữ liệu LaunchService để tìm ra đường dẫn chính xác.


Để đi xa hơn, thay vì làm điều này như một kịch bản bash, tại sao không tạo ra một bí danh trong của bạn .bash_profile? Điều này sẽ đơn giản hơn nhiều để thực hiện bất cứ nơi nào từ dòng lệnh của bạn.

alias rex='killall Xcode && open -a Xcode'

Bạn đã quên phần được xử lý khớp , trong đó người dùng nhầm gói ứng dụng để thực thi. killallkhông hoạt động tốt, tất cả.
Daniel Beck

Ô đúng rồi. Chà, killall Xcodelàm việc tốt với tôi - nhưng tôi đoán một osascript -e 'tell app "Xcode" to quit'cách tiếp cận lành mạnh hơn.
slhck

Vâng, nhưng killall Xcode.applà thông báo lỗi trong câu hỏi đến từ đâu.
Daniel Beck

Đúng, tôi bằng cách nào đó đã đọc quá nhiều và chỉ nhìn vào kịch bản.
slhck

0

Có vẻ như bạn đang chạy tập lệnh đó từ Máy tính để bàn của mình và ở đó nó không thể tìm thấy đường dẫn đến xcode.app. Kiểm tra vị trí chính xác, đối với tôi nó là /Developer/Applications/Xcode.app.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.