Программирование на Bash-скрипте для ввода текста через терминал и времени в лог-файл - PullRequest
0 голосов
/ 21 февраля 2012

Я новичок в программировании на bash.

Я хочу реализовать bash-скрипт deploymLog, который принимает в качестве входных данных один строковый аргумент (имя)

Например:

 [root@localhost Desktop]# ./deploymLog.sh name

Здесь я хочу передать строковый аргумент через терминал.

В качестве начального шага мне нужно добавить текущую метку времени вместе с этой входной строкой в ​​файл журнала, скажем Logone.txt в текущем каталоге в следующем формате

[name]=[System time timestamp1]

Ответы [ 2 ]

2 голосов
/ 21 февраля 2012

Я не уверен, я понял, что вы хотите.

    #!/bin/bash

    LOGFILE="Logone.txt"

    if [ $# -eq 0 ];then
      echo "Failed, please enter a name" >&2
      exit 1
    fi

    if  [ $# -gt 1 ];then
      echo "Too much arguments" >&2
      exit 1
    fi

    echo "$1=`date +%s`" >> $LOGFILE

Этот небольшой скрипт добавляет имя и системную метку времени в файл с именем Logone.txt.

Например:.

$ ./deploymLog Marcel
$ ./deploymLog Jean
$ ./deploymLog Picsou
$ cat Logone.txt
Marcel=1329798949
Jean=1329798956
Picsou=1329798963

РЕДАКТИРОВАТЬ: Этот сценарий предназначен для Unix Bash, а не для пакетного, я думаю, вы хотите его под Windows, измените свой Bash на пакет в вашем описание, чтобы избежать путаницы, и извините, я не могу вам помочь, я ничего не знаю о партии.

0 голосов
/ 21 февраля 2012
#!/bin/sh

# Check that exactly one argument was given
test $# = 1 || { echo usage: $(basename $0) name; exit 1; } >&2

exec >> Logone.txt                    # redirect output to log file
printf "[%s]=[%s]\n" "$1" "$(date)"   # print [name]=[timestamp]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...