0

OSX Lion でのログイン時にファイルの名前を変更するスクリプトを作成しようとしています。

これまでの私のスクリプトは次のとおりです。

#!/bin/bash
if [ -f /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin ]; then
    mv ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin1
    say "Successful"
else
    say "Unsuccessful"
fi

スクリプトを実行する LoginHook を作成しました。「ksadmin」ファイルが見つかるとコンピューターが話すため、ログイン時に実行されることがわかります。コンピューターが「成功」と言うので、「ksadmin」ファイルが見つかることはわかっています。また、ファイルの名前を手動で変更し、ログアウトしてから再度ログインすると、コンピューターに「失敗しました」と表示されます。

問題は、スクリプトが「ksadmin」を「ksadmin1」に名前変更しないことです。コマンドを正しく書きましたか?

どんなアイデアでも素晴らしいでしょう。

モーガン

4

2 に答える 2

0

助けてくれたcdarke、Miquel、mVChrに感謝します。この問題の解決策は次のとおりです。

#!/bin/bash
if [ -f /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin ]; then
    mv /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin1
    say "Successful"
else
    say "Unsuccessful"
fi

展開に使用するバージョン:

#!/bin/bash
    if [ -f /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin ]; then
        mv /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin /Users/$1/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/MacOS/ksadmin1
    fi
于 2012-06-14T08:32:49.083 に答える
0

ksadmin の権限は何ですか? ログイン ID に対して読み取り専用で、ksadmin1 が既に存在する場合は、mv -f が必要になることがあります。また、「~」を絶対パスに展開することもできます。スクリプトがいつ実行されるか正確にはわかりませんが、おそらく bash はまだスクリプトを展開できません。

于 2012-06-13T18:13:59.610 に答える