0

私は苦労してこのチュートリアルを進めてきました。私は UNIX 初心者で、以下のコード ブロックのコマンドの一部を解読するのに苦労しています。強調表示されたコマンドが構文に関して何をしているのかについての基本的な説明を手伝ってくれる人がいれば、とても感謝しています。

コードブロック:

. /etc/init.d/functions

#startup values
log=/var/log/Daemon.log

#verify that the executable exists
test -x /home/godlikemouse/Daemon.php || exit 0RETVAL=0

prog="Daemon"
proc=/var/lock/subsys/Daemon
bin=/home/godlikemouse/Daemon.php

start() {
    # Check if Daemon is already running
    if [ ! -f $proc ]; then
        echo -n $"Starting $prog: "
        daemon $bin --log=$log
        RETVAL=$?
        [ $RETVAL -eq 0 ] && touch $proc
        echo
    fi

    return $RETVAL
}

強調表示された行 #1

test -x /home/godlikemouse/Daemon.php || exit 0RETVAL=0

強調表示された行 #2

[ ! -f $proc ]

強調表示された行 #3

daemon $bin --log=$log 

強調表示された行 #4

RETVAL=$?

強調表示された行 #5

[ $RETVAL -eq 0 ] && touch $proc
4

2 に答える 2

0

1) テスト

test -x /home/godlikemouse/Daemon.php || exit 0RETVAL=0

man から: (コンソールに man test と入力すると、これが表示されます -> http://unixhelp.ed.ac.uk/CGI/man-cgi?test )

 -x FILE
      FILE exists and execute (or search) permission is granted

ファイルが存在するかどうかをチェックし、存在する場合はそれを実行します。存在しない場合は、0RETVAL = 0 で終了します。

2) -F

[ ! -f $proc ]

マンページから:

-f FILE
      FILE exists and is a regular file

$proc がファイルでないか調べます

3) タッチ

[ $RETVAL -eq 0 ] && touch $proc

manページから(タッチ用)

Update  the  access  and modification times of each FILE to the current
   time.

$RETVAL が 0 に等しいかどうかを確認し、さらに $proc の変更時刻を変更します

于 2013-05-29T07:27:51.573 に答える