Cách tạo tệp phổ (tập lệnh) cho máy Mac, dựa trên một số lệnh Terminal


20

Tôi có một số lệnh Terminal tôi sử dụng cho mục đích khắc phục sự cố, bằng cách nhập từng cái một vào cửa sổ terminal.

Các lệnh này yêu cầu nhập mật khẩu của người dùng.

Tôi đang tìm cách để tạo một tập tin (script) phổ quát với các lệnh này. Tôi muốn có thể chạy tệp trên máy Mac chỉ bằng cách nhấp đúp vào tệp hoặc kéo tệp qua biểu tượng Terminal.

Tôi chưa bao giờ làm bất cứ điều gì như thế này trước đây. Có cách nào để tạo ra một kịch bản như vậy? Xin tư vấn.


Bạn có nghĩa là yêu cầu bạn muốn chạy một kịch bản mà không cần người dùng nhập mật khẩu của họ?
Allan

@ ALLan Tôi muốn chạy một tệp thay vì nhiều lệnh . Chạy nó mà không cần người dùng nhập mật khẩu của họ ít nhất một lần sẽ tốt, nhưng rất có thể là không thể nếu tôi không nhầm.
0lesya

Điều đó hoàn toàn có thể trừ khi bạn cần làm điều gì đó cần có quản trị viên - xem câu trả lời của tôi bên dưới
Cullub

Câu trả lời:


30

Câu trả lời ngắn

Một .commandkịch bản nên thực hiện các mẹo


Từng bước một

  1. Mở TextEdit và tạo một tệp mới
  2. Chuyển đổi nó thành văn bản thuần túy bằng cách nhấp vào Định dạng> Tạo văn bản thuần túy
  3. Thêm các lệnh của bạn, một lệnh trên mỗi dòng. Ví dụ: bạn có thể làm:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Chạy chmod u+x ~/Desktop/myCommandScript.commandtrong thiết bị đầu cuối của bạn, nơi ~/Desktop/myCommandScript.commandđường dẫn đến kịch bản của bạn. Điều này sẽ cung cấp cho phép thiết bị đầu cuối để chạy các tập tin.

  5. Bạn đã hoàn tất! Bấm đúp vào tệp để chạy. Kéo qua biểu tượng đầu cuối cũng sẽ hoạt động.

Ghi chú:

  • Nếu bạn cần làm gì đó yêu cầu quyền truy cập root (admin), bạn có thể đặt tiền tố cho lệnh của mình sudo. Khi tập lệnh chạy, bạn sẽ phải nhập mật khẩu của mình (và là quản trị viên)
  • Nếu người dùng cuối không phải là quản trị viên, nhưng bạn cần phải làm một cái gì đó yêu cầu quyền truy cập root, bạn có thể sử dụng su someAdminName, nó sẽ thực hiện lệnh như someAdminName(bạn sẽ cần mật khẩu của anh ta).

Bạn cũng có thể xem ở đây trên Stack Overflow để biết thêm một chút thông tin.


Có cách nào để tạo một tệp lệnh không đăng xuất không? Tôi muốn có một tệp lệnh mở terminal với biến đường dẫn được xác định trước.
Royi

8

Một tập lệnh chỉ là một chuỗi các lệnh, vì vậy bạn có thể đặt nó vào một tập lệnh bash.

#!/bin/bash

command 1
command 2
command 3

Bây giờ, tất cả phụ thuộc vào loại lệnh của họ và liệu họ có yêu cầu sự can thiệp của người dùng hay không.

Tuy nhiên, nếu bạn đang nhận thông tin chẩn đoán, ví dụ: bạn có thể có một tập lệnh thực hiện

#!/bin/bash

# Get SMART status of main drive
diskutil info disk0 | grep -i smart

# Get the model of the machine in question
system_profiler SPHardwareDataType | grep -i Identifier

Đó chỉ là những ví dụ. Hãy nhớ rằng bất kỳ đầu ra nào được tạo ra, sẽ được gửi đến bàn điều khiển (màn hình). Tuy nhiên, bạn có thể chuyển hướng đầu ra thành một tệp bằng cách nối thêm >> /path/to/outputfile.txtvào cuối mỗi lệnh để bạn có một tệp mà bạn có thể phân tích cú pháp khi tệp đã chạy xong.

Bạn có thể đặt tên cho tập tin diagnostics.shvà đặt nó bất cứ nơi nào bạn muốn. Chỉ cần đảm bảo rằng bạn làm cho nó có thể thực thi được bằng cách ban hành lệnh chmod +x diagnostics.shvà sử dụng ./diagnostics.shđể thực thi nó hoặc nhấp đúp vào nó để chạy nó nếu nó được lưu vào máy tính để bàn của bạn .

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.