Автор Гілка: debian: bash, wget, %7F  (Прочитано 2207 раз)

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
debian: bash, wget, %7F
« : 2007-08-15 09:53:34 »
isbear@monstruozo:~$ tmpl='000'
isbear@monstruozo:~$ for (( num=99; num<101; num++ )) ; do
> tnum="${tmpl:${#num}}${num}"
> wget "http://www.aaa.com/download/file${tnum}.zip"
> done
--09:38:27--  http://www.aaa.com/download/file099.zip
           => `file099.zip'
Визначення імені www.aaa.com... 63.240.178.211, 63.240.229.211
Connecting to www.aaa.com|63.240.178.211|:80... під'єднано.
HTTP-запит надіслано, очікуєм відповіді... 404 Not Found
09:38:30 ПОМИЛКА 404: Not Found.

--09:38:30--  http://www.aaa.com/download/file%7F100.zip
           => `file100.zip'
Визначення імені www.aaa.com... 63.240.229.211, 63.240.178.211
Connecting to www.aaa.com|63.240.229.211|:80... під'єднано.
HTTP-запит надіслано, очікуєм відповіді... 400 Bad Request
09:38:31 ПОМИЛКА 400: Bad Request.

isbear@monstruozo:~$

Debian Etch, amd64, LANG=uk_UA.UTF-8
В кого є які ідеї?

P.S. Пишу сюди, бо розділ з деб'яном залочило.
P.P.S.
isbear@monstruozo:~$ bash --version
GNU bash, version 3.1.17(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
isbear@monstruozo:~$
« Змінено: 2007-08-15 10:02:30 від ISBear »

Відсутній tech

  • Письменник
  • *****
  • дописів: 586
  • Карма: +1/-0
  • Гигик
Re: debian: bash, wget, %7F
« Відповідей #1 : 2007-08-15 15:18:17 »
Перевірте за допомогою echo, як саме розкриваються всі змінні. Тобто поміняйте  wget на echo.

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: debian: bash, wget, %7F
« Відповідей #2 : 2007-08-15 16:28:48 »
у мене все гаразд (Мандріва 2008б1):

tmpl=000
for (( num=99; num<101; num++ )) ; do
 tnum="${tmpl:${#num}}${num}"
 wget "http://www.aaa.com/download/file${tnum}.zip"
done

--09:30:03--  http://www.aaa.com/download/file099.zip
           => `file099.zip'
Resolving www.aaa.com... 63.240.229.211, 63.240.178.211
Connecting to www.aaa.com|63.240.229.211|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
09:30:03 ERROR 404: Not Found.

--09:30:03--  http://www.aaa.com/download/file100.zip
           => `file100.zip'
Resolving www.aaa.com... 63.240.229.211, 63.240.178.211
Connecting to www.aaa.com|63.240.229.211|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
09:30:04 ERROR 404: Not Found.
[arysin@mypreciousss u]$ bash --version
GNU bash, version 3.2.15(2)-release (x86_64-mandriva-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

P.S. як в en_US.UTF-8 так і в uk_UA.UTF-8
« Змінено: 2007-08-15 16:30:44 від DalekiyObriy »
Fedora 35 (x86-64)

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: debian: bash, wget, %7F
« Відповідей #3 : 2007-08-15 16:54:43 »
Проблема в тому, що термінал не показує цього символу
isbear@monstruozo:~$ aa="$(echo -n -e "\x7f")"
isbear@monstruozo:~$ echo ">${aa}<"
><
isbear@monstruozo:~$ echo ${#aa}
1
isbear@monstruozo:~$ tmpl='000'
isbear@monstruozo:~$ for (( num=99; num<101; num++ )) ; do tnum="${tmpl:${#num}}
${num}"; echo "http://www.aaa.com/download/file${tnum}.zip" ; done
http://www.aaa.com/download/file099.zip
http://www.aaa.com/download/file100.zip
isbear@monstruozo:~$ for (( num=99; num<101; num++ )) ; do tnum="${tmpl:${#num}}
${num}"; echo "http://www.aaa.com/download/file${tnum}.zip" > "${num}.t" ; done
isbear@monstruozo:~$ ls -l *.t
-rw-r--r-- 1 isbear isbear 41 2007-08-15 16:49 100.t
-rw-r--r-- 1 isbear isbear 40 2007-08-15 16:49 99.t
isbear@monstruozo:~$
« Змінено: 2007-08-15 16:57:49 від ISBear »

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: debian: bash, wget, %7F
« Відповідей #4 : 2007-08-15 17:15:18 »
isbear@monstruozo:~$ aa='buggz'
isbear@monstruozo:~$ bb="argh ${aa:${#aa}}"
isbear@monstruozo:~$ echo ${#bb}
6 # should be 5
isbear@monstruozo:~$ bb="${aa:${#aa}}"
isbear@monstruozo:~$ echo ${#bb}
0
isbear@monstruozo:~$ bb="${aa:${#aa}} argh"
isbear@monstruozo:~$ echo ${#bb}
6 # should be 5
isbear@monstruozo:~$
« Змінено: 2007-08-15 17:16:46 від ISBear »

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: debian: bash, wget, %7F
« Відповідей #5 : 2007-08-15 17:15:29 »
зробіть йому щось на штиб urlencode перед виводом на екран..
Fedora 35 (x86-64)

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: debian: bash, wget, %7F
« Відповідей #6 : 2007-08-15 17:18:11 »
isbear@monstruozo:~$ bb="argh ${aa:${#aa}}"
isbear@monstruozo:~$ echo -n "${bb}" | od -t x1
0000000 61 72 67 68 20 7f
0000006
isbear@monstruozo:~$

Відсутній DalekiyObriy

  • Літератор
  • ******
  • дописів: 1929
  • Карма: +5/-0
Re: debian: bash, wget, %7F
« Відповідей #7 : 2007-08-15 17:50:11 »
в локалі C таке є ?
Fedora 35 (x86-64)

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: debian: bash, wget, %7F
« Відповідей #8 : 2007-08-15 18:13:06 »
isbear@monstruozo:~$ LANG=C
isbear@monstruozo:~$ LC_ALL=C
isbear@monstruozo:~$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
isbear@monstruozo:~$ aa='phantom'
isbear@monstruozo:~$ bb="${aa:${#aa}} oto"
isbear@monstruozo:~$ echo ${#bb}
5 # should be 4
isbear@monstruozo:~$

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: debian: bash, wget, %7F
« Відповідей #9 : 2007-08-15 20:53:29 »
Ага, на LFS i686 (bash 3.1.17(1)), uk_UA.koi8u - те ж саме.
« Змінено: 2007-08-15 20:55:38 від ISBear »