可能的重复:
在 Mac 上使用 Python
所以,我看到了类似的问题,但没有一个答案对我有用。
我将 Python 从 2.6.1 更新到 3.1.3。一切正常,除了:当我输入python终端时,我得到:
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin 输入
“help”、“copyright”、“credits”或“license”想要查询更多的信息。
>>>
那么,如何更改在 Shell 中运行的 Python 版本?我试过他们提供的脚本。它将他们的目录添加到我的 $PATH,但它仍然不会更改从终端显示的版本。这是我得到的结果echo $PATH:
/Library/Frameworks/Python.framework/Versions/3.1/bin:/Library/Frameworks/Python.framework/Versions/3.1/bin:/Library/Frameworks/Python.framework/Versions/3.1/bin:/usr/bin: /bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
每次我运行脚本时,提供的脚本似乎都添加了它们的目录(我自然地尝试了几次)。
以下是它提到的其他相关文件夹中的一些内容:
/Library/Frameworks/Python.framework/Versions/3.1/bin

/usr/本地/bin

/usr/bin

在Dos中我们可以输入前几个字符来过滤命令历史并快速找到合适的。但是如何在 Linux 中做同样的事情呢?
例如,当我测试本地服务器时:
cd
sudo /etc/init.d/vsftpd start
wget ...
ls
emacs ...
sudo /etc/init.d/vsftpd restart
sudo /etc/init.d/vsftpd stop
...
Run Code Online (Sandbox Code Playgroud)
在 Dos 中,您可以sudo使用箭头键轻松键入并在以它开头的三个命令之间切换。但是在 Linux 中,下面的命令是我们能做的最好的吗?
historty | grep sudo
Run Code Online (Sandbox Code Playgroud)
我不喜欢它,因为历史很容易变得一团糟,而且还需要鼠标操作。
我正在 Mac OSX 上寻找具有特定功能的终端模拟器:
能够将控制台窗口拆分为多个窗格。
这是侏儒终结者的一个很棒的功能,我认为这张图片最能描述它:

请注意,每个窗格都是运行不同应用程序的不同提示。
我正在尝试制作一个小脚本来为我正在制作的 python 网站启动 gunicorn。我稍微修改了在https://github.com/benoitc/gunicorn/blob/master/examples/gunicorn_rc 上找到的脚本。这是我的版本。
#!/bin/sh
GUNICORN=/usr/local/bin/gunicorn
ROOT=/srv/mobile-site/app
PID=/var/run/gunicorn.pid
APP=mobilecms:app
if [ -f $PID ]; then rm $PID fi
cd $ROOT
exec $GUNICORN -b 127.0.0.1:8080 -w 8 -k gevent --pidfile=$PID $APP
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行脚本时,它显示此错误
/etc/init.d/gunicorn: 13: Syntax error: end of file unexpected (expecting "fi")
Run Code Online (Sandbox Code Playgroud)
有谁知道出了什么问题?
我经常发现自己需要在文本文件中输入时间戳。有没有办法将当前时间戳快速插入到 Ubuntu 中的文件中?
我的步骤:
登录后:
root@myserver.com:~$
但是,按 cntrl+D 退出
root@myserver.com:~$ exit
root@myserver.com:~$ exit
...
root@myserver.com:~$
5、不要放弃。
为什么?
请告诉我正确的方法。
可能的重复:
在未登录的情况下让 bash 脚本在远程终端上运行?
大家好,我运行一个程序,./a.out 10从 shell 提示说。假设有一个while(1)正在运行的程序内部。现在,如果我尝试关闭 shell,它会警告我它也会杀死我正在运行的程序!那么,如何杀死shell并仍然让我的程序继续在后台运行?
我试过了,exec ./a.out 10但外壳还在那里。另一种选择是简单地双击我的可执行文件,但是我将如何传递命令行参数?
我想通过包含的另一个脚本更改我的脚本的工作目录。
第一个脚本:
#!/bin/bash
pwd
source script2
pwd
Run Code Online (Sandbox Code Playgroud)
Sedond脚本:
cd ..
pwd
Run Code Online (Sandbox Code Playgroud)
结果如下:
> ./script1
/home/sebi/testdir1/testdir2 # 1st script
/home/sebi/testdir1 # 2nd script
/home/sebi/testdir1 # 1st script
Run Code Online (Sandbox Code Playgroud)
我在测试这个脚本时编辑了这个问题,它按我想要的方式工作,但是以下脚本的工作方式不同,因为下标完成执行父级与调用下标之前位于同一目录中。
#!/bin/bash
while :
do
sleep 5
cat /home/.../shelldata.txt >> /home/.../gmodshell #logging
((source /home/..../shelldata.txt) 2>&1) | \
sed -e "s/..shellRunner.sh..line../SH/" > \
/home/..../shellFeedback.txt
echo > /home/..../shelldata.txt
done
Run Code Online (Sandbox Code Playgroud)
整个目标是使用文件访问 bash,这样我就可以将命令写入一个文件,一段时间后我在另一个文件中获得输出。
我在一个目录中有数百个文件,是否有一个简单的命令或命令管道可以用来将它们附加在一起?我不想使用任何循环。
我如何将这两行合并为一行?
chown abc:abc *.sh
chown abc:abc *.txt
Run Code Online (Sandbox Code Playgroud)
将两个文件扩展名的所有权更改为一个行。