Tôi là người dùng Windows và Linux lâu năm (tôi không có gì chống lại Mac - tôi chưa bao giờ sở hữu một máy Mac) và trước đây đã có một số trải nghiệm lạ khi viết kịch bản shell trên Mac OS X. Cụ thể, tôi có thể viết các tập lệnh tốt và chạy chúng từ thiết bị đầu cuối, nhưng mỗi khi tôi cố gắng chạy một từ một cửa sổ Finder nó luôn luôn thực hiện từ thư mục nhà của người dùng chứ không phải là thư mục trong đó kịch bản sống. Tức là, nếu tập lệnh được đặt tạiShell Scripts trong Mac OS X chạy từ thư mục chính?
~/path/to/the/script.sh
nó luôn hết trong số ~
. Trước đây tôi đã phải hỏi nhiều bạn bè hiểu biết về Mac hơn về cách sửa lỗi này, và họ thường làm như vậy bằng cách sử dụng một số kỹ thuật tồi tệ khủng khiếp, nhưng tôi không thấy lý do nào tại sao điều này lại xảy ra.
Câu hỏi của tôi là - có cách nào dễ dàng để viết kịch bản lệnh shell trong Mac OS X, khi nhấp đúp vào Trình tìm kiếm, chạy ra khỏi thư mục chứa nó?
Tại sao bạn mong đợi nó sẽ làm khác? Đây chỉ là hành vi được xác định. – bmargulies
"thư mục gốc"! = "Thư mục chính của người dùng" –
Ít nhất trong Windows, hành vi mặc định bạn nhận được khi chạy một chương trình từ cửa sổ thám hiểm là chương trình đang chạy ra khỏi thư mục mà nó cư trú. Có lẽ đây là ngoại lệ thay vì quy tắc, nhưng đó là điều tôi thường hay sử dụng nhất. – templatetypedef