Автор Гілка: sh, echo та доморощений скрипт  (Прочитано 13661 раз)

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Є доморощений скрипт, в якому зустрічається наступне
#!/bin/sh
...
                echo -ne '\x1B~\x0B\x17\x17\x04~Y' > /dev/cuaa0
...
Якщо цей скрипт виконувати на машині з лінуксом, то все ОК (головним чином через$ ls -l `which sh`
lrwxrwxrwx 1 root root 4 2009-12-11 01:15 /bin/sh -> bash*
).
Питання полягає в наступному - як це діло організувати засобами sh та echo?
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: sh, echo та доморощений скрипт
« Відповідей #1 : 2011-03-19 19:02:05 »
Непанятна. А зараз воно якими засобами організоване?

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Re: sh, echo та доморощений скрипт
« Відповідей #2 : 2011-03-19 22:15:43 »
Непанятна. А зараз воно якими засобами організоване?
Може я неясно висловився - у bash (де використовується вбудоване echo) отримаємо замість шістнадцядкових кодів символів \xNN самі символи, а в sh - стрічку "x1B~x0Bx17x17x04~Y".
Ubuntu 20.04/18.04; CentOS 7.x

Відсутній peinguin

  • Літератор
  • ******
  • дописів: 1418
  • Карма: +0/-0
Re: sh, echo та доморощений скрипт
« Відповідей #3 : 2011-03-19 22:57:23 »
ну незнаю. man echo що каже?
В мене чітко й ясно написано, що ключ е робить інтерпритацію бекслешних символів.

Відсутній cadca

  • Письменник
  • *****
  • дописів: 955
  • Карма: +0/-0
  • free like beer
Re: sh, echo та доморощений скрипт
« Відповідей #4 : 2011-03-19 23:41:41 »
Поміг "man sh" [smiley=blush2.gif]:
Цитата
\c      Suppress the trailing newline (this has the side-
     effect of truncating the line if it is not the
     last character)

\e      The ESC character (ASCII 0x1b)
...
\0nnn   (Zero) The character whose octal value is nnn
...
Only one of the -e and -n options may be specified.
echo -e '\e~\0013\0027\0027\0004~Y\c'
Ubuntu 20.04/18.04; CentOS 7.x