Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как получить версию python в переменную в скрипте?  (Прочитано 1668 раз)

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

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
Добрый день
Никак не могу получить версию python в переменную в скрипте  :'(
#!/usr/bin/env bash
python_version=$(python -V | awk '{print $2}')
echo $python_version

[code]
bash -x test.sh                                                                                             !156
++ python -V
++ awk '{print $2}'
Python 2.7.5
+ python_version=
+ echo
Если делать из консоли то все работает, а из скрипта нет.

Все время переменная не содержит версии. Помогите пожалуйста, где туплю?
« Последнее редактирование: 20 Февраля 2018, 18:36:37 от Dark Smoke »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7257
  • Luck Tales
    • Просмотр профиля
Вроде верно всё, УМВР:
Код: (text) [Выделить]
$: cat py-v.sh
#!/usr/bin/env bash
python_version=$(python -V | awk '{print $2}')
echo $python_version

$: ./py-v.sh 
3.6.4
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
А у меня не работает  ((
cat test.sh                                                                                                 !157
#!/usr/bin/env bash
python_version=$(python -V | awk '{print $2}')
echo $python_version
bash -x test.sh                                                                                             !156
++ python -V
++ awk '{print $2}'
Python 2.7.5
+ python_version=
+ echo

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7257
  • Luck Tales
    • Просмотр профиля
Dark Smoke, неладно что-то в королевстве...
покажите вывод такого скрипта:
#!/usr/bin/env bash
P=$(python -V | awk '{print $2}')
python_version=$(python -V | cut -d\  -f2)
echo "1-$P"
echo "2-$python_version"


🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
bash -x test.sh                                                                                             !159
++ python -V
++ awk '{print $2}'
Python 2.7.5
+ P=
++ python -V
++ cut '-d ' -f2
Python 2.7.5
+ python_version=
+ echo 1-
1-
+ echo 2-
2-
bash test.sh                                                                                                !160
Python 2.7.5
Python 2.7.5
1-
2-

Какая то мистика ((

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Это Вы что-то с настройками bash сделали. Попробуйте через другой интерпретаторsh test.sh например
Еще одна причина может быть в переносах. В чем (в каком редакторе) текст скрипта набираете?
« Последнее редактирование: 21 Февраля 2018, 12:12:01 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
sh test.sh                                                                                                  !164
Python 2.7.5
Python 2.7.5
1-
2-
В sh тоже самое (((((

Редактирую файл в mcedit, пробовал в nano и vi все тоже самое

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7257
  • Luck Tales
    • Просмотр профиля
Dark Smoke,
bash --norc --noprofile -x test.sh 
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
bash --norc --noprofile -x test.sh                                                                          !167
++ python -V
++ awk '{print $2}'
Python 2.7.5
+ P=
++ python -V
++ cut '-d ' -f2
Python 2.7.5
+ python_version=
+ echo 1-
1-
+ echo 2-
2-

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7257
  • Luck Tales
    • Просмотр профиля
Dark Smoke,
ls -l $(which sh bash)
bash --version
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
ls -l $(which sh bash)                                                                                      !172
-rwxr-xr-x 1 root root 960608 сен  6 19:25 /usr/bin/bash
lrwxrwxrwx 1 root root      4 ноя 24 17:11 /usr/bin/sh -> bash
bash --version                                                                                              !171
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7257
  • Luck Tales
    • Просмотр профиля
Dark Smoke, Всё. Мысли кончились  :-\
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Dark Smoke

  • Автор темы
  • Активист
  • *
  • Сообщений: 311
    • Просмотр профиля
    • Абонентское обслуживание и ремонт компьютеров в Днепропетровске
ALiEN175, плохо.

Нам нужны гуру  :)

Гуру I need help you

Оффлайн ARTGALGANO

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 1936
    • Просмотр профиля
Dark Smoke, признавайтесь, откуда redhat взялся?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
sh test.sh 
бессмысленно так как
/usr/bin/sh -> bash
Попробуйте dash, ash ... что у Вас есть то?
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

Страница сгенерирована за 0.053 секунд. Запросов: 23.