Один щелчок: Откройте терминал, команды выполнения, продолжайте использовать терминал

Мне нужен сценарий удара, который делает следующее:

  1. откройте новый терминал
  2. изменитесь на определенный каталог
  3. выполните команду в том каталоге
  4. сохраните терминал открытым для дальнейшего использования

Конкретно я хочу:

  1. откройте консольный терминал
  2. изменение в /my/work/dir/
  3. внутри /my/work/dir/, выполненный source bin/activate
  4. после этого я должен выполнить дальнейшие команды внутри /my/work/dir/, например. ls

Очень похожему вопросу дали следующий ответ для сценария (адаптированный к моим требованиям):

#!/usr/bin/env bash
konsole --noclose --workdir /my/work/dir/ -e 'bash -c 'source bin/activate'' 

Это действительно открывает новый терминал внутри /my/work/dir/, но терминал не является интерактивным.

user@userMachine: /my/work/dir$

отсутствует, который позволяет мне выполнять дальнейшие команды и что-либо, что я ввожу (например. pwd) возвраты ничто, просто новые строки.

8
задан 13 February 2020 в 12:34

2 ответа

Необходимо указать что терминал сделать после выполнения команды source bin/activate. Вы хотите активную сессию удара, таким образом, необходимо работать bash. Кроме того, существует mes с кавычками. Таким образом, сценарий мог быть:

#!/usr/bin/env bash
konsole --noclose --workdir /my/work/dir/ -e 'bash -c "source bin/activate; exec bash"' &
  • & в конце добавляется для хранения основного терминала применимым, в случае, если Вы выполняете тот сценарий из другого окна терминала.

  • exec команда могла быть опущена, и можно использовать только bash.

Вот немного ответов подобных вопросов, выделенных gnome-terminal:

7
ответ дан 20 February 2020 в 22:54

Я не могу прокомментировать, но от того, что я понимаю, что могу предложить

#!/bin/bash
cd /my/work/dir/
source bin/activate
konsole
3
ответ дан 20 February 2020 в 22:54

Другие вопросы по тегам:

Похожие вопросы: