Страница 1 из 1

FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 12:44:10
MadLord
Приветствую!...
поставил наконец-то вышедшую 7.1 и столкнулся со странным поведением команды script(в инете пока не могу найти подобного)...имеется скрипт patch содержащий в самом начале строки:

Код: Выделить всё

#!/bin/sh
if [ -r patch.conf ]; then         
        . patch.conf               
else                               
        echo "patch.conf not found"
        exit                       
fi
так вот...если просто запустить скрипт ./patch, то(при отсутствии файла patch.conf) в STDOUT будет сообщение об отсутствии файла...но если запустить скрипт так:
script -q log ./patch
то ни в STDOUT ни в файле log ничего нет!...притом, что на FreeBSD 6.4(и 6.2) все работает нормально(и в STDOUT и в файл log есть сообщение об отсутствии файла)....
подскажите где может быть косяк?....

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:15:19
zg
пути смотри, и к конфигу лучше задать абсолютный, анпример так

Код: Выделить всё

#!/bin/sh
cd `dirname "$0"`
if [ -r patch.conf ]; then         
        . patch.conf               
else                               
        echo "patch.conf not found"
        exit                       
fi

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:28:03
MadLord
да нет...дело не в файлах...файла patch.conf и не должно быть...дело в том, что /usr/bin/script не работает как надо....

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:34:17
zg
MadLord писал(а):да нет...дело не в файлах...файла patch.conf и не должно быть...дело в том, что /usr/bin/script не работает как надо....
как проверял? скриптом с двойной логикой?

Код: Выделить всё

zg# uname -r
7.1-PRERELEASE
zg# script -q /root/log.txt
zg# echo Hello
Hello
zg# exit
zg#
zg# ll -h /root/log.txt
-rw-r--r--  1 root  wheel    38B Nov 15 16:20 /root/log.txt
zg# cat /root/log.txt
zg# echo Hello
Hello
zg# exit
zg#
у меня всё пашет :???:

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:48:21
MadLord
мдя...сидим теперь с напарником вдвоем не вкуриваем...со строкой "cd `dirname "$0"`" заработало....
попробую на пальцах пример привести:
1. создаем файл test.sh такого содержания

Код: Выделить всё

#!/bin/sh
echo aaa
2. делаем его исполнимым(chmod +x 1.sh)
3.запускаем и получаем желаемое - aaa
4.запускаем через script

Код: Выделить всё

script log ./1.sh
и НЕ получаем желаемое!....
5.добавляем в 1.sh строку

Код: Выделить всё

#!/bin/sh
cd `dirname "$0"`
echo aaa
6.запускаем через script

Код: Выделить всё

script log ./1.sh
и получаем желаемое - aaa!!!...
PATH пропадает?...

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:53:47
zg
MadLord писал(а):мдя...сидим теперь с напарником вдвоем не вкуриваем...со строкой "cd `dirname "$0"`" заработало....
да чё тут не понтяного - у вас в текущей папке валяется patch.conf, который и подключается при работе скрипта, при этом никакого сообщения у вас не задумано.

Чтобы скрипт работал в своей папке, надо сначало в неё перейти.

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 13:56:38
MadLord
да отвлекись ты от patch.conf...читай мой последний пост.... :smile:

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 14:08:01
zg
MadLord писал(а):да отвлекись ты от patch.conf...читай мой последний пост.... :smile:
гм... а вы чего от него хотите-то?

Код: Выделить всё

NAME
     script -- make typescript of terminal session

SYNOPSIS
     script [-akq] [-t time] [file [command ...]]

DESCRIPTION
     The script utility makes a typescript of everything printed on your ter-
     minal.  It is useful for students who need a hardcopy record of an inter-
     active session as proof of an assignment, as the typescript file can be
     printed out later with lpr(1).
он с терминалами работает, а не со стандартным выходом. Если ван нужно сохранить вывод юзайте tee

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 14:12:23
MadLord
в 6.4(да и в 6.2) он работает как надо, а в 7.1 разучился?... :-D

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 14:20:31
zg

Код: Выделить всё

zg# uname -r
7.0-STABLE
zg# script log sh -c "echo Hello"
Script started, output file is log

Script done, output file is log
zg#

Код: Выделить всё

zg# uname -r
6.2-RELEASE
zg# script log sh -c "echo Hello"
Script started, output file is log
Hello

Script done, output file is log
zg#
гм... и правда бага какая-то -)))) можешь смело писать в багрепорт

Код: Выделить всё

zg-hosting# uname -r
6.3-RELEASE-p5
zg-hosting# script log sh -c "echo Hello"
Script started, output file is log
Hello

Script done, output file is log
zg-hosting#
гм... неужто только в семёрке такая фигня...

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 16:36:22
Гость
у мя на 8-CURRENT

Код: Выделить всё

repeat 1000 script -q /dev/null ls /dev/null | wc -l
глотает вывод через раз.

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 17:05:12
zg

Код: Выделить всё

zg# repeat 1000 script -q /dev/null ls /dev/null
/dev/null
/dev/null
/dev/null
/dev/null
/dev/null
/dev/null
/dev/null
zg#
:bn:

Код: Выделить всё

zg# repeat 1000 script -q /dev/null ls /dev/null | wc -l
      10
Аварийное завершение(core dumped)
zg#
:cry: песец чё твориться....

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-13 17:56:26
Alex Keda

Код: Выделить всё

lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
     998
Аварийное завершение(core dumped)
lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
     997
Аварийное завершение(core dumped)
lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000
Аварийное завершение(core dumped)
lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000
Аварийное завершение(core dumped)
lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
     998
Аварийное завершение(core dumped)
lissyara$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000
Аварийное завершение(core dumped)
lissyara$ uname -a
FreeBSD lissyara.moskb.local 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sun Jan 11 12:17:46 MSK 2009     lissyara@lissyara.moskb.local:/usr/obj/mnt/jabber/DISTR/FreeBSD/src/CURRENT/sys/USB2  amd64
lissyara$ 

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-14 6:00:47
Гость

Код: Выделить всё

> repeat 1000 script -q /dev/null ls /dev/null | wc -l
       0                                              
Abort (core dumped)                                   
> uname -r                                            
7.1-RELEASE 
хех...

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-14 10:28:21
Гость
а у народа работает http://forums.freebsd.org/showthread.ph ... 8#post9088 :unknown:

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-14 10:53:05
f_andrey
Гость писал(а):а у народа работает http://forums.freebsd.org/showthread.ph ... 8#post9088 :unknown:
ага тоже там видел, интересно чем обусловлено, даже сам заинтересовался и протестил на чем есть.

Код: Выделить всё

> script log sh -c "echo Hello"
Script started, output file is log
Hello

Script done, output file is log
> repeat 1000 script -q /dev/null ls /dev/null | wc -l
     995
Аварийное завершение(core dumped) 
> uname -rm
8.0-CURRENT amd64

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-16 23:53:58
Alex Keda

Код: Выделить всё

hosting$ cd /tmp/
hosting$ repeat 1000 script -q /dev/null ls /dev/null | wc -l
     786
Аварийное завершение(core dumped)
hosting$ uname -a
FreeBSD hosting.lissyara.su 7.1-RC2 FreeBSD 7.1-RC2 #0: Fri Dec 26 20:24:43 MSK 2008    
lissyara@hosting.lissyara.su:/tmp/obj/usr/src/sys/hosting  amd64
hosting$   

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-17 9:23:15
zg

Код: Выделить всё

zg# uname -a
FreeBSD zg.lissyara.su 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Fri Jan 12 10:40:27 UTC 2007     root@dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
zg# repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000
zg#
:crazy:

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-17 11:23:47
gofman

Код: Выделить всё

m24_backup# uname -a
FreeBSD m24_backup 7.1-RELEASE-p2 FreeBSD 7.1-RELEASE-p2 #0: Wed Jan 14 14:23:22 UTC 2009     root@m24_backup:/usr/obj/usr/src/sys/ROUTER  i386
m24_backup# repeat 1000 script -q /dev/null ls /dev/null | wc -l
      11
Аварийное завершение(core dumped)

Код: Выделить всё

chel# uname -a
FreeBSD chel.mydomain 4.10-RELEASE FreeBSD 4.10-RELEASE #1: Tue Jul  4 13:25:17 YEKST 2006     root@chel.mydomain:/usr/obj/usr/src/sys/GENERIC  i386
chel# repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000

Код: Выделить всё

tagil# uname -a
FreeBSD tagil.mydomain 6.2-STABLE FreeBSD 6.2-STABLE #0: Thu Sep 13 12:48:37 UTC 2007     admin@mydomain:/usr/obj/usr/src/sys/ROUTER  i386
tagil# repeat 1000 script -q /dev/null ls /dev/null | wc -l
    1000

Re: FreeBSD 7.1 и /usr/bin/script

Добавлено: 2009-01-18 13:36:42
kmb

Код: Выделить всё

#repeat 1000 script -q /dev/null ls /dev/null | wc -l
1000
#uname -r
5.3-RELEASE

Код: Выделить всё

#repeat 1000 script -q /dev/null ls /dev/null | wc -l
       3
Abort (core dumped)
#uname -r
7.1-RELEASE-p1