web-dev-qa-db-ja.com

ワンクリック:ターミナルを開いてコマンドを実行し、ターミナルを使い続ける

次のことを行うbashスクリプトが必要です。

  1. 新しいターミナルを開く
  2. 特定のディレクトリに移動する
  3. そのディレクトリでコマンドを実行する
  4. 今後の使用のためにターミナルを開いたままにします

具体的には、次のことを行います。

  1. konsoleターミナルを開く
  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)は何も返さず、新しい行だけが返されます。

7

コメントはできませんが、理解したことから、

#!/bin/bash
cd /my/work/dir/
source bin/activate
konsole
3
r_D