いくつかのターミナルコマンドに基づいて、Mac用のユニバーサル(スクリプト)ファイルを作成する方法


20

ターミナルウィンドウに1つずつ入力して、トラブルシューティングの目的で使用するターミナルコマンドがいくつかあります。

これらのコマンドでは、ユーザーのパスワードを入力する必要があります。

これらのコマンドを使用してユニバーサル(スクリプト)ファイルを作成する方法を探しています。ファイルをダブルクリックするか、ターミナルアイコンの上にドラッグするだけで、Macでファイルを実行できます。

私はこれまでこのようなことをしたことがありません。そのようなスクリプトを作成する方法はありますか?お知らせ下さい。


ユーザーにパスワードを入力させずにスクリプトを実行するように依頼するつもりですか?
アラン

@Allan 複数のコマンドの代わりに1つのファイルを実行したい。ユーザーに少なくとも1回パスワードを入力させずに実行するのは良いことですが、私が間違えなければほとんどの場合不可能です。
0lesya

あなたは管理者を必要とする何かをする必要がない限り、それは間違いなく可能です-以下の私の答えを参照してください
-Cullub

回答:


30

短い答え

.commandこのスクリプトは、トリックを行う必要があります


ステップバイステップ

  1. TextEditを開き、新しいファイルを作成します
  2. [書式]> [プレーンテキストの作成]をクリックして、プレーンテキストに変換します。
  3. コマンドを1行に1つずつ追加します。たとえば、次のことができます。
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. chmod u+x ~/Desktop/myCommandScript.commandターミナルで実行します。ここ~/Desktop/myCommandScript.commandは、スクリプトへのパスです。これにより、端末にファイルを実行する許可が与えられます。

  5. 完了です!実行するファイルをダブルクリックします。端末アイコン上でのドラッグも機能します。

ノート:

  • ルート(管理者)アクセスを必要とする何かをする必要がある場合は、コマンドの前にを付けることができますsudo。スクリプトを実行するとき、パスワードを入力する必要があります(管理者である必要があります)
  • エンドユーザーが管理者ではないが、ルートアクセスを必要とする何かを行う必要がある場合はsu someAdminName、を使用してコマンドを実行someAdminNameできます(パスワードが必要です)。

スタックオーバーフローの詳細については、こちらをご覧ください。


ログアウトしないようにコマンドファイルを作成する方法はありますか?事前定義されたパス変数でターミナルを開くコマンドファイルが必要です。
-Royi

8

スクリプトは一連のコマンドであるため、bashスクリプトに入れることができます。

#!/bin/bash

command 1
command 2
command 3

現在、これはすべて、コマンドのタイプと、ユーザーの介入が必要かどうかによって異なります。

ただし、診断情報を取得している場合は、たとえば、

#!/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

これらは単なる例です。生成された出力はすべてコンソール(画面)に送信されることに注意してください。ただし、>> /path/to/outputfile.txt各コマンドの最後に追加することにより、出力をファイルにリダイレクトして、ファイルの実行が完了したら解析できるファイルを作成できます。

ファイルに名前を付けて、diagnostics.sh好きな場所に配置できます。コマンドchmod +x diagnostics.shを発行して実行可能にすることを確認し、それを使用./diagnostics.shして実行するか、デスクトップに保存されている場合はダブルクリックして実行します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.