11

OSX で実行されている bash スクリプトの特定の行を中断または「スリープ」しようとしています。スクリプトは、ログイン前の起動時に実行されます。期待した結果が得られません。言い換えれば、「スリープ」後に指定した時間に関係なく、スクリプトは遅れることなく正しく動作します。ただし、ログイン後にスクリプトを実行すると、「スリープ」コマンドは問題なく動作するようです。

ログイン前またはスクリプトの実行前に、コマンド ファイル「sleep」がパスにない可能性はありますか? コマンドの前にスリープへのパスを配置すると役立ちますか? もしそうなら、「睡眠」はどこに住んでいますか?

私が試すことができる別のアプローチまたは代替コマンドはありますか?

ありがとう

#!/bin/bash

#Create the bin directory
sudo mkdir /usr/local/bin

sleep 10

#Copy the files to the Hard Drive
sudo cp /Volumes/NO\ NAME/adbind.bash /usr/local/bin/adbind.bash
sudo cp /Volumes/NO\ NAME/com.sjusd.adbind.plist /Library/LaunchDaemons/com.sjusd.adbind.plist

#Fix permissions
sudo chown root:wheel /usr/local/bin
sudo chmod 755 /usr/local/bin
sudo chown root:wheel /Library/LaunchDaemons/com.sjusd.adbind.plist
sudo chmod 755 /Library/LaunchDaemons/com.sjusd.adbind.plist

exit 0

ぶっちゃけタフな人だかりマイナス1した笑

4

2 に答える 2

4

を実行するwhich sleepと、システムの「スリープ」へのパスを取得できます。私は得る/bin/sleep

この時点で、いくつかのオプションがあります。

sleep呼び出すときにパスを指定できます

#!/bin/bash
# script before sleep ...
/bin/sleep
# ... after sleep

$PATHまたは、変数を呼び出す前に、スクリプト内で変数へのパスを追加できます。

#!/bin/bash
PATH="$PATH:/bin"
# script before sleep ...
sleep
# ... after sleep
于 2012-10-09T15:45:54.527 に答える