「OpenTerminalHere」( http://www.entropy.ch/software/applescript/ )と呼ばれる非常に素晴らしいアップルスクリプトがあります。これをFinderのツールバーに追加して、起動するときにクリックすることができます。そのディレクトリに設定されているターミナルコンソール。
時々私はrootになる必要があるので、ターミナルを起動してSudo -i
のようなことをしてから、変更する必要があります 前のディレクトリに戻る Sudoコマンドが/ var/rootに私を着陸させているからです。
エイリアスやbashプロファイルなどをロードするのが好きなので、Sudo-iを使用しています。
スクリプトはapplescriptであり、これがその仕組みの重要な部分です。
... cmdを "cd"に設定&the_pathの引用形式& "&& echo $ '\\ ec'" ... アプリケーションに通知"Terminal" activate コマンドcmd でスクリプトを実行します
これをrootとしてロードするにはどうすればよいですか?
実際、理解するのは非常に複雑でしたが、結局これを/etc/profile
ファイルに追加しました。
directory = `pbpaste` if [-d" $ directory "];次に cd "$ directory" fi
その後、 "Open Terminal Here"スクリプト を使用し、ターミナルを起動する前に現在のパスをクリップボードにコピーするように変更しました。
アプリケーション「Finder」にクリップボードをthe_path に設定するように指示します。
次に、ターミナルをアクティブ化するコードにSudo -i
部分を追加しました。
cmdを "cd"に設定&the_pathの引用形式& "&& echo $ '\\ ec' && Sudo -i" アプリケーション "Terminal" [.____に通知します。 ]
したがって、パスがクリップボードにコピーされ、アイコンを使用してAppleScriptを起動し、プロファイルが(ルート用に)ロードされると、ディレクトリに変更されます。
アクセスしようとしているディレクトリは何ですか?ホームエイリアス(「〜」)はルートとして機能しないため、絶対パスを使用する必要がある場合があります。
AppleScriptを使用してターミナルをrootとして起動するには、次のようなことを行うことができます(テストされていません!)。
tell application "Terminal"
activate
tell application "System Events" to keystroke "Sudo -i" & return
do script with command cmd
これにより、開いているFinderディレクトリに変更するコードを実行する前に管理者権限が付与されます。実行しているスクリプトに注意しないと、かなり危険です。
より一般的には、AppleScriptに次のようなコードでSudoコマンドを実行させることができます。
set shellOutput to do Shell script cmd with administrator privileges
display dialog shellOutput
ここで、「cmd」は実行するコマンドです。 (これにより、コード結果のポップアップも表示されます。)