我需要一个执行以下操作的 bash 脚本:
具体我想:
/my/work/dir//my/work/dir/,运行source bin/activate/my/work/dir/,例如ls一个非常相似的问题给出了脚本的以下答案(适应我的要求):
#!/usr/bin/env bash
konsole --noclose --workdir /my/work/dir/ -e 'bash -c 'source bin/activate''
Run Code Online (Sandbox Code Playgroud)
这确实在里面打开了一个新终端/my/work/dir/,但终端不是交互式的。这
user@userMachine: /my/work/dir$
缺少允许我运行更多命令并且我键入的任何内容(例如pwd)不返回任何内容,只是新行。
我想编写一个脚本来激活虚拟环境并在新终端中运行 Django 项目的服务器。我的startProject.sh是:
#!/bin/bash
source virtualenv/bin/activate
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)
而且,我可以通过以下方式在当前终端上运行此脚本:
source startProject.sh
Run Code Online (Sandbox Code Playgroud)
我想在脚本打开的新终端中执行此操作。
#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x 'source startProject.sh'
Run Code Online (Sandbox Code Playgroud)
我也尝试过这个。
#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x '#!/bin/bash\n source startProject.sh'
Run Code Online (Sandbox Code Playgroud)
两者都不起作用。为什么?我读了其他问题,但我仍然不明白。我是初学者,所以请假设没有经验。
我想创建 Cron 作业来运行编译.c文件。假设program.c我的桌面上有一个名为 的文件。我使用 编译它gcc program.c,它创建了a.out可执行文件。
我想在某个时间通过 Cron 打开一个终端并在a.out里面运行以将其输出显示到终端中。我已经打开 Crontab 进行编辑 - crontab -e- 我试过:
30 * * * * /home/username/Desktop/a.out /Desktop/a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * cd /home/username/Desktop/a.out && ./a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * /bin/sh /home/username/Desktop/a.out
Run Code Online (Sandbox Code Playgroud)
和
30 * * * * bash -c "exec /home/username/Desktop/a.out"
Run Code Online (Sandbox Code Playgroud)
没有任何作用!