Здравствуйте!В скрипте примерно следующего содержания передаются имена файлов.
root@fr:/tmp/1 # cat ./test.sh
#!/bin/sh
( ls /etc/hosts > /tmp/txt.txt ) > & /tmp/err.txt
( ls /etc/hostsss > /tmp/txt1.txt ) > & /tmp/err1.txtМожет быть передано и несуществующее имя файла. Для того чтобы ошибка не вываливалась на консоль идет вывод ошибки в файл. Если набирать команду из консоли, то отрабатывает правильно и без ошибок.
( ls /etc/hosts > /tmp/txt.txt ) > & /tmp/err.txtА если в скрипте то
./test.sh: 2: Syntax error: "&" unexpectedКак правильно записать команду в скрипт. Наверно надо как-то правильно экранизировать амперсанд?
> #!/bin/sh#!/bin/bash
> Как правильно записать команду в скрипт. Наверно надо как-то правильно экранизировать амперсанд?
Зависит от того, считаешь ли ты POSIX sh религией.
>> #!/bin/sh
> #!/bin/bashДа, скока ж можно?! Опять бсдешник!
-#!/bin/bash
+#!/usr/bin/env bashКарма пришла за мной. Не то что за этими [...]ми, поющими дифирамбы фре в новостях и не появляющихся *здесь*.
>>> #!/bin/sh
>> #!/bin/bash
> Да, скока ж можно?! Опять бсдешник!
> -#!/bin/bash
> +#!/usr/bin/env bash
> Карма пришла за мной. Не то что за этими [...]ми, поющими дифирамбы
> фре в новостях и не появляющихся *здесь*.Задолбали. Если бы мне надо было #!/bin/bash, я и сам бы смог 2 буквы дописать. Плохо когда человек не умеет писать по существу. Если нечего сказать, то зачем клаву мучать.
>> Да, скока ж можно?! Опять бсдешник!
Смешно..... говорит о возрасте или о воспитании )
>>> #!/bin/sh
>> #!/bin/bash
> Да, скока ж можно?! Опять бсдешник!
> -#!/bin/bash
> +#!/usr/bin/env bash
> Карма пришла за мной. Не то что за этими [...]ми, поющими дифирамбы
> фре в новостях и не появляющихся *здесь*.а ты заметил? , что lavr таки стал заглядывать -- присматривает за несчастны^W инвалидами
> а ты заметил?павлик ви таки уже сдали своего папу в ментовку или ещё нет?
>> а ты заметил?
> павлик ви таки уже сдали своего папу в ментовку или ещё нет?обиженый ононим? опять бысданутые кидаются?
>>> а ты заметил?
>> павлик ви таки уже сдали своего папу в ментовку или ещё нет?
> обиженый ононим? опять бысданутые кидаются?Аха .... таки сдали?
>[оверквотинг удален]
> #!/bin/sh
> ( ls /etc/hosts > /tmp/txt.txt ) > & /tmp/err.txt
> ( ls /etc/hostsss > /tmp/txt1.txt ) > & /tmp/err1.txt
> Может быть передано и несуществующее имя файла. Для того чтобы ошибка не
> вываливалась на консоль идет вывод ошибки в файл. Если набирать команду
> из консоли, то отрабатывает правильно и без ошибок.
> ( ls /etc/hosts > /tmp/txt.txt ) > & /tmp/err.txt
> А если в скрипте то
> ./test.sh: 2: Syntax error: "&" unexpected
> Как правильно записать команду в скрипт. Наверно надо как-то правильно экранизировать амперсанд?нужно правильно выполнять redirect stdout/stderr
( ls /etc/hosts > /tmp/txt.txt ) >/tmp/err.txt 2>&1
( ls /etc/hostsss > /tmp/txt1.txt ) >/tmp/err1.txt 2>&1спасет?
собственно что в bourne-shell, что в bash, верхнее почти одинаково
ps. возможно Вам нужно только stdout перенаправлять (без stderr)
Да и без скобок тоже работает#!/bin/sh
ls /etc/hosts > /tmp/txt.txt 2> /tmp/err.txt
ls /etc/hostsss > /tmp/txt1.txt 2> /tmp/err1.txt
Спасибо, Всем ответившим.