1 Востаннє редагувалося Q-bart (24.12.2016 21:59:10)

Тема: Віндосівські батники на лінуксі

Тож я таки перейшов на лінукс. Вже місяць використовую його як основну систему. Нарешті звершилось)

Проблема: на вінді я створив собі кілька файликів-батників, напр. для переходу в директорію проекту, активацію віртуального середовища і тд.

От в лінукс, ми маємо писати shell. Але от напр:

#! /bin/bash

cd ~/venv/proj/src

source ../env/bin/activate

І от в ідеалі, виконання цього скрипту, подібно як на віндовсі, мало б призвести до переходу в директорію, і активацію віртуального середовища. Та натомість нічого не відбувається( .

Якщо додати ls

#! /bin/bash

cd ~/venv/proj/src
source ../env/bin/activate
ls

то виводить файли в директорії проекту. Тобто скрипт переходить собі по командах, виконує але мені в терміналі нічого цього не показує.
Як зробити щоб показував?

2 Востаннє редагувалося Master_Sergius (24.12.2016 23:52:13)

Re: Віндосівські батники на лінуксі

Усі шелскрипти виконуються в "сабшелі", тому 'cd' ніби не працює. І в принципі, це нормальна поведінка - зоовсім не хотілося б, щоб після виконання якогось скрипта моя поточна директорія, до якої Я добирався нелегко, змінилася б кілька разів. Більше деталей ось тут: http://superuser.com/questions/176783/w … rip#176788

Підсумовуючи - бавтеся із source та звичайним виконанням.

Подякували: Q-bart, flatliner, HetmanNet3

3

Re: Віндосівські батники на лінуксі

Якийсь вихід? Мета програміста автоматизувати більшість ж...

4

Re: Віндосівські батники на лінуксі

Q-bart написав:

Якийсь вихід? Мета програміста автоматизувати більшість ж...

Ну чому Ви не хочете нічого читати? Там все пояснено. І Я зробив короткий підсумок. Ось:

$ echo "cd ~/work/python" > cd_to_work.sh
$ source cd_to_work.sh
$ pwd
/home/sergius/work/python
Подякували: Q-bart1

5

Re: Віндосівські батники на лінуксі

Круть!!! Чувак дякую. Запускати треба було просто через source, а не баш. Дякую

6

Re: Віндосівські батники на лінуксі

Ще одне питання. Де зберігати мені ці файлики, в яких пишу?

7

Re: Віндосівські батники на лінуксі

Q-bart написав:

Ще одне питання. Де зберігати мені ці файлики, в яких пишу?

Якщо це власні скрипти для виконання чи витягування ресурів, варто запихати їх у підкаталог bin домашнього каталогу. Дуже часто, /home/user_name/bin - уже знаходиться у змінній PATH, а відтак їх можна запускати на виконання як звичайну команду. А інколи достатньо просто розширити змінну PATH. Ось наприклад моє:

ls ~/bin
mount_usb  yandex_translate check_connected_hosts i3status

Тепер з будь-якого місця Я можу робити ось так:

$ yandex_translate en-uk source
джерело
Подякували: Q-bart1

8 Востаннє редагувалося Q-bart (25.12.2016 15:16:50)

Re: Віндосівські батники на лінуксі

в мене elementary і дтректорії ~/bin нема. Можна створити самому?

UPD. Створив сам. Все ок. дякую

9

Re: Віндосівські батники на лінуксі

Все, що хотів додати, це те, що замість source можна просто ставити крапку:

. cd_to_work.sh
Подякували: Master_Sergius, Q-bart2

10

Re: Віндосівські батники на лінуксі

bvn написав:

Все, що хотів додати, це те, що замість source можна просто ставити крапку:

. cd_to_work.sh

ну я їх всіх в аліаси додав. Так що мені source писати не доводиться  :)