Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Чё меня бесит

Автор Алексей Гринь, марта 27, 2010, 21:09

0 Пользователи и 1 гость просматривают эту тему.

RawonaM

Цитата: Demetrius от апреля 29, 2010, 18:09
Цитата: RawonaM от апреля 29, 2010, 18:01
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?

Demetrius

Цитата: RawonaM от апреля 29, 2010, 18:11
Цитата: Demetrius от апреля 29, 2010, 18:09
Цитата: RawonaM от апреля 29, 2010, 18:01
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?
А \ как раз и будет экранировать только первый символ.

RawonaM

Цитата: Demetrius от апреля 29, 2010, 18:14
Цитата: RawonaM от апреля 29, 2010, 18:11
Цитата: Demetrius от апреля 29, 2010, 18:09
Цитата: RawonaM от апреля 29, 2010, 18:01
А если у меня цикл и неизвестно, какой символ будет за слэшем?
Вместо экранирования первого символа всё равно будут нужны кавычки.
Я не представляю ситуацию, где нужно экранировать именно первый символ.
Откуда уже взялось про "именно первый" символ?
А \ как раз и будет экранировать только первый символ.
Хм... а где-то в каком-то месте вообще в любой программе он экранирует больше одного?!!

Demetrius

Ну вот, поэтому он и бесполезен в цикле. И вообще при обработке введённых пользователем данных.

RawonaM

Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.

myst

Цитата: RawonaM от апреля 29, 2010, 18:25
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(

RawonaM

Цитата: RawonaM от апреля 29, 2010, 17:40
Цитата: Demetrius от апреля 29, 2010, 17:31
Цитата: RawonaM от апреля 29, 2010, 17:27
Шо-то вы оба гоняете. Если написать '\t' программа как коммандлайн аргумент получит сиквенс слэш и буква тэ. Если написать $'\t', то программа получит в качестве агрумента характер 0x09.
Все что между '' передается как есть. А если ставится доллар, то заменяются некоторые эскейпсиквенции.
А Вы попробуйте. ©

Если вкратце: echo \t выводит просто t. Где здесь логика — не знаю? ($'\t' передаёт таб, как и надо).
А в чем еще проблема? Мне щас негде пробовать, но какбе все ясно.
echo $'\t' напечатает таб, echo '\t' напечатает \t.
Равонам сказал, Равонам попробовал:

rawonam@rawonam-laptop:~$ echo '\t'
\t
rawonam@rawonam-laptop:~$ echo $'\t'
   
rawonam@rawonam-laptop:~$


Все правильно.

Претензии по поводу поведения \ не принимаются, такого вообще нет в определении. Единственная его функция - принятие последующего символа эз-из, никакой замены он не предполагает и никогда не предполагал. Замена последовательностей происходит исключительно в кавычках!

RawonaM

Цитата: myst от апреля 29, 2010, 18:29
Цитата: RawonaM от апреля 29, 2010, 18:25
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)

Demetrius

Цитата: RawonaM от апреля 29, 2010, 19:01
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)
А может он PowerShell освоит?

myst

Цитата: RawonaM от апреля 29, 2010, 19:00
Равонам сказал, Равонам попробовал:

rawonam@rawonam-laptop:~$ echo '\t'
\t
rawonam@rawonam-laptop:~$ echo $'\t'
   
rawonam@rawonam-laptop:~$

Все правильно.
Ты решил таки захватить кресло Капитана Очевидность? :eat:

myst

Цитата: RawonaM от апреля 29, 2010, 19:01
Цитата: myst от апреля 29, 2010, 18:29
Цитата: RawonaM от апреля 29, 2010, 18:25
Ладно, я потерял нить разговора :) Приду домой, поиграюсь с башем.
Глаза бы мои эти порождения сотоны не видели. :(
Ну ты с cmd поиграйся. Мы тебя назад ждем, это займет недолго :)
Ты наивно полагаешь, что я с ним не игрался? :)

myst

Цитата: Demetrius от апреля 29, 2010, 19:54
А может он PowerShell освоит?
Я его скачал ещё месяца 3 назад, до сих пор собираюсь. :(

Demetrius

Цитата: myst от апреля 29, 2010, 20:10
Цитата: Demetrius от апреля 29, 2010, 19:54
А может он PowerShell освоит?
Я его скачал ещё месяца 3 назад, до сих пор собираюсь. :(
А в моей семёрке он был предустановлен...

Алексей Гринь

Скажите, кстати, как в коммандной строке виндовса сменить папку?

Писал и «cd имя папки», и «chdir имя папки», и относительными путями, и абсолютными, и капслоком, и без, и в кавычках, и без — ноль реакции. Задрало блин. Оно ещё не сохраняет историю ввода предыдущих сессий...
肏! Τίς πέπορδε;

RawonaM

Цитата: Алексей Гринь от апреля 29, 2010, 22:32
Скажите, кстати, как в коммандной строке виндовса сменить папку?

Писал и «cd имя папки», и «chdir имя папки», и относительными путями, и абсолютными, и капслоком, и без, и в кавычках, и без — ноль реакции. Задрало блин. Оно ещё не сохраняет историю ввода предыдущих сессий...
cd "имя папки". не может быть ноль реакции.

Алексей Гринь

ОК, про относительные я нагнал (потому что разогнался), работает. Но абсолютные как (именно они нужны)?

По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Мне в принципе это не так важно, я через виртуалку через линукс всем управляю :) Легче. Но я надеюсь, что Windows-таки не так плох.

Может, типа change drive комманду надо?

ЦитироватьC:\WINDOWS>cd "E:\Develop"

C:\WINDOWS>cd "E:\Develo"
Системе не удается найти указанный путь.
肏! Τίς πέπορδε;

RawonaM

Цитата: Алексей Гринь от апреля 29, 2010, 22:49
ЦитироватьC:\WINDOWS>cd "E:\Develop"

C:\WINDOWS>cd "E:\Develo"
Системе не удается найти указанный путь.
Для каждого драйва есть своя рабочая директория, ты когда указываешь драйв он для него меняет, но сам рабочий драйв не меняется. Перейди в e:, увидишь, что директория сменилась.

Juif Eternel

Цитата: Алексей Гринь от апреля 29, 2010, 22:49
По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Гринь, вы меня удивляете. Наберите C:\Documents and Settings\Алексей>E: и окажетесь в E.
А дальше с cd ...

Или я неправильно понял вашу проблему?
Mir lebn ejbik

RawonaM

Цитата: Juif Eternel от апреля 29, 2010, 23:02
Цитата: Алексей Гринь от апреля 29, 2010, 22:49
По дефолту открывается в C:\Documents and Settings\Алексей

Пишу cd E:\Develop — остаётся в этой же, причём ошибку не говорит.
Если делать cd ..\ — то работает, да.

Гринь, вы меня удивляете. Наберите C:\Documents and Settings\Алексей>E: и окажетесь в E.
А дальше с cd ...

Или я неправильно понял вашу проблему?
Молодежь, досовские времена не знают  ;D

Алексей Гринь

Мда, два действия надо делать.

Про E: я знал, но забыл :) При то ли Нортоне, то ли Волкове я сидел, синий экранчик такой, внизу консоль, набигают гномы, можно грабит корованы. В Windows 3.1 надо было грузиться из него, что-то такое (почему-то бут был не сразу). Не помню уже. Не долго это было :)
肏! Τίς πέπορδε;

Bhudh

Не надо никаких двух действий. Параметр /d позволяет сменить сразу и текущий диск, и папку.
c[h]d[ir] /d имя папки
Причём в XP по дефолту и пробелы в именах поддерживаются, никаких кавык не надо.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Алексей Гринь

Цитата: Bhudh от апреля 29, 2010, 23:12
Не надо никаких двух действий. Параметр /d позволяет сменить сразу и текущий диск, и папку.
А что мешало сделать это без ключей?
肏! Τίς πέπορδε;

Bhudh

Видимо, какие-то проблемы с разными носителями данных у DOS. А потом просто поставили ключ (чтобы две команды не делать или ради обратной совместимости? :???).
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Алексей Гринь

Цитата: Bhudh от апреля 29, 2010, 23:23
Видимо, какие-то проблемы с разными носителями данных у DOS. А потом просто поставили ключ (чтобы две команды не делать или ради обратной совместимости? :???).
Ну как-то обратная совместимость с досом уже как лет десять неактуальна, а заменить cmd.exe PowerShell'ом сподобились только в семёрке.
肏! Τίς πέπορδε;

Bhudh

ЯВУ для bat-файлов? ;D

Пока Билли подобился, кучу прог для win-скриптинга наваяли.
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо