Обратите, пожалуйста, внимание, что существует более активная на настоящий момент смежная ветка.
Не скриптовое это дело. Есть соответствующие программы.
Mickey_from_nsk
Naprimer ?
Naprimer ?
Даа .. похоже я лажанулся. Хотел сказать про recode, да потом обнаружил, что он не знает транслит.
Но в принципе, все равно - не скриптовое это дело. Лучше на языке эту прогу писать. IMHO - проще некуда. Опять же, взять исходники recode и дописать.
Но в принципе, все равно - не скриптовое это дело. Лучше на языке эту прогу писать. IMHO - проще некуда. Опять же, взять исходники recode и дописать.
В принципе из транстита во что-то - фиг переведешь.
во первых неоднозначность написания букв типа Я, Ы и т.д. (ya-ja)
во вторых составные звуки типа SH этто сочетание СХ или буква Ш...
В общем посмотри на свой текст транслитом и задумайся:
"луди, как сделать скрипт, которйж может..."
и это только по первому пункту.
А вот с русского на транслит напишу..., потом..., если ты захочешь...
во первых неоднозначность написания букв типа Я, Ы и т.д. (ya-ja)
во вторых составные звуки типа SH этто сочетание СХ или буква Ш...
В общем посмотри на свой текст транслитом и задумайся:
"луди, как сделать скрипт, которйж может..."
и это только по первому пункту.
А вот с русского на транслит напишу..., потом..., если ты захочешь...
Нормального стандарта на транслит нет.
Лучше подскажите хороший мануал для bash !
Лучше подскажите хороший мануал для bash !
UncoNNecteD
Код: man bash
Код: man bash
alyent
Цитата:
Садист
Мне более практичное что нить.
Цитата:
man bash
Садист
Мне более практичное что нить.
http://linux.vitebsk.by/ - neplohoy site s kuchey man pages.
Kstate, net ni u kogo khoroshego resursa po shell scriptingu
Kstate, net ni u kogo khoroshego resursa po shell scriptingu
Думаю кому-то пригодится
полезные команды:
меняет заглавные буквы на строчные у файлов *.*
Код: for i in *.*; do mv "$i" `echo $i|tr '[A-Z]''[a-z]'`;done
полезные команды:
меняет заглавные буквы на строчные у файлов *.*
Код: for i in *.*; do mv "$i" `echo $i|tr '[A-Z]''[a-z]'`;done
zsh:
zmv '(*).(*)' '${(#L)1}.${(#L)2}'
zmv '(*).(*)' '${(#L)1}.${(#L)2}'
не знаю, как с транслитом, но вот между кодировками iconv конвертит как угодно и куда угодно ... особенно в linux ...
Повстречались с тобой, это было давно.
И светила луна, нам с тобой пару раз.
Но не знаю зачем, это быстро прошло,
Нет прекрасней насвете, твоих карих глаз.
Ты теперь далеко, и разлука-судьба,
Скорой встречи дла нас, не готовит увы.
Быстро время течет - горной речки вода,
И в потоке ее, вижу я те же сны.
Слишком много воды, утекло с той поры,
Нам уже не поймать, эхо наших стихов.
И пусть с нами живут, тени бледной луны,
В мире где жизнь, невозможна без снов.
Код:
cat poem_1.txt | tr '[АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЫЩЭЮЯабвгдежзийклмнопрстуфхцчшыьщэюя]'
'[ABVGDEJZIKLMNOPRSTUFHCCSSYEUAabvgdejzijklmnoprstufhccsy seua]'
И светила луна, нам с тобой пару раз.
Но не знаю зачем, это быстро прошло,
Нет прекрасней насвете, твоих карих глаз.
Ты теперь далеко, и разлука-судьба,
Скорой встречи дла нас, не готовит увы.
Быстро время течет - горной речки вода,
И в потоке ее, вижу я те же сны.
Слишком много воды, утекло с той поры,
Нам уже не поймать, эхо наших стихов.
И пусть с нами живут, тени бледной луны,
В мире где жизнь, невозможна без снов.
Код:
cat poem_1.txt | tr '[АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЫЩЭЮЯабвгдежзийклмнопрстуфхцчшыьщэюя]'
'[ABVGDEJZIKLMNOPRSTUFHCCSSYEUAabvgdejzijklmnoprstufhccsy seua]'
[code]
#!/bin/sh
if !( [ ping 10.0.0.138] ); then
echo "Turn the router on!";
fi
[/q]
возвращает ./test.sh: line 2: [: ping: unary operator expected
Как правильно написать вторую строку?
#!/bin/sh
if !( [ ping 10.0.0.138] ); then
echo "Turn the router on!";
fi
[/q]
возвращает ./test.sh: line 2: [: ping: unary operator expected
Как правильно написать вторую строку?
webdeveloper
Код: #!/bin/sh
ping 10.0.0.138 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Turn the router on!"
fi
Код: #!/bin/sh
ping 10.0.0.138 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Turn the router on!"
fi
f_serg
пасиба за помощ
работает но както не так
Скрипт запускается и ничего не выводит, только когда жму ctl+c скрипт завершается и выводит резулmтат
Как это исправить?
пасиба за помощ
работает но както не так
Скрипт запускается и ничего не выводит, только когда жму ctl+c скрипт завершается и выводит резулmтат
Как это исправить?
webdeveloper
Цитата:
Почитай man ping. Там должен быть ключ на количество посылаемых пакетов. На разных системах по-разному. И ограничь, например, тремя пакетами. Для линукса
Код: #!/bin/sh
ping -c 3 10.0.0.138 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Turn the router on!"
fi
Цитата:
Как это исправить?
Почитай man ping. Там должен быть ключ на количество посылаемых пакетов. На разных системах по-разному. И ограничь, например, тремя пакетами. Для линукса
Код: #!/bin/sh
ping -c 3 10.0.0.138 > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Turn the router on!"
fi
Скрипту передатся лист атрибутов
Код: script art1 art2 ... atrn
Код: script art1 art2 ... atrn
alyent
Цитата:
$# - количество аргументов. В отличие от C имя самого скрипта не учитывается.
Цитата:
Количество не известно, так что считывать надо в цикле.
$# - количество аргументов. В отличие от C имя самого скрипта не учитывается.
f_serg
это я знаю
А вот как пробежать по всем $1 $2 .. $n ???
например скрипт просто показывает лист аргументов?
Код: for ((i=1; i<=$#; i++)); do
echo $i - $$i # $$i не пашет, выдает адрес переменной
done
это я знаю
А вот как пробежать по всем $1 $2 .. $n ???
например скрипт просто показывает лист аргументов?
Код: for ((i=1; i<=$#; i++)); do
echo $i - $$i # $$i не пашет, выдает адрес переменной
done
alyent
Примерно так:
Код:
#!/bin/sh
loop=0
while [ $# -ne 0 ] # Цикл выполняется до тех пор, пока остаются аргументы
do
echo $1 #вывод параметра
shift # следующий параметр
done
Примерно так:
Код:
#!/bin/sh
loop=0
while [ $# -ne 0 ] # Цикл выполняется до тех пор, пока остаются аргументы
do
echo $1 #вывод параметра
shift # следующий параметр
done
Sea Eagle
спасибо
Только вот на последнем аргументе не останавливается, а пытается считать еще один и дает $(#+1) = "" .
Добавлено
Починил!
Код: until [ -z "$2" ]; do
echo $2
shift
done
спасибо
Только вот на последнем аргументе не останавливается, а пытается считать еще один и дает $(#+1) = "" .
Добавлено
Починил!
Код: until [ -z "$2" ]; do
echo $2
shift
done
alyent
Не знаю, не знаю...
у меня нормально:
Код:
195$ ./test.sh wer ert rty
wer
ert
rty
Не знаю, не знаю...
у меня нормально:
Код:
195$ ./test.sh wer ert rty
wer
ert
rty
Цитата:
у меня нормально:
Возможно моя криворукость... И все-таки несколько извращенный метод, согласитесь. String [] ARGV в Perl и Java куда правильнее на мой взгляд.
alyent
Цитата:
с помощью BASH?
Цитата:
Как написать
Код: if ((a==1) && (b>=3)) a = b;
с помощью BASH?
Sea Eagle
Спасибо за помощь. Просто я на шелл-скрипте не писал особо, а тут дали в универе задание - пришлось выучить. Синтаксис древний, но зато это хороший "клей", или "молоток" (русские с молотком и такой-то матерью могут поченить абсолютно все).
Спасибо за помощь. Просто я на шелл-скрипте не писал особо, а тут дали в универе задание - пришлось выучить. Синтаксис древний, но зато это хороший "клей", или "молоток" (русские с молотком и такой-то матерью могут поченить абсолютно все).
Там последний код малость не работает, вернее работает, но не правильно... ща я его до ума доведу!!!
Добавлено
Вот рабочий пример:
Код:
#!/bin/sh
a=1
b=4
if [ "$a" -eq "1" -a "$b" -ge "3" ]; then
a=$b
echo "YES"
else
echo "NO"
fi
Добавлено
Вот рабочий пример:
Код:
#!/bin/sh
a=1
b=4
if [ "$a" -eq "1" -a "$b" -ge "3" ]; then
a=$b
echo "YES"
else
echo "NO"
fi
alyent
Еще вариант прохода по всем аргументам:
Код: for i in $*
do
echo $i
done
Еще вариант прохода по всем аргументам:
Код: for i in $*
do
echo $i
done
f_serg
Да... и так тоже можно...
Да... и так тоже можно...
Поставил ZSH - шелл супер, гораздо удобнее bash (если кому интересно, могу перечислить почему).
Но у меня почему-то не работают кнопки <DEL> <HOME> <END> (при нажатии печатается '~').
Помогите починить.
Но у меня почему-то не работают кнопки <DEL> <HOME> <END> (при нажатии печатается '~').
Помогите починить.
Предыдущая тема: Сжатие БД формата Access средствами VC++
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.