Articles of bash

POSIX,UNIX,path,VIM和其他一个Windows用户的噩梦

这似乎是一个真正开放的问题,但是我会尽我所能去把我脑海中的这个巨大的困惑翻译出来,看看是否有人能解决这个问题,更多的人可以从中学习: 去年我开始在电子和计算机科学之间的大学课程,但更多的是第一个,并且被盲目地投入到编程中,通过在Unix下使用Eclipse进行一系列的投诉。 直到那里,虽然我不知道unix,好吧。 现在我想在家里进行编码,并决定尝试安装Eclipse,然后按照给定的教程安装MinGW并将其添加到path中。 隐喻我是这样被蒙上眼睛,我不知道发生了什么事情。 现在,经过几个编程课程,并find了Visual Studio的偏好,我想回到命令行,我需要使用包括vim在内的脚本和命令行工具。 不过我发现,作为一个Windows用户,我在开放的操作系统世界中相当迷茫,花费大量的时间去了解它。 所以,最重要的问题是 ,任何人都可以给出一个指导,让我在哪里find或解释所有这些让我头脑发热的问题之间的关系: 我可以做什么在Windows命令提示符,什么在Msys,什么在Bash和共同点? 为什么我可以在命令提示符下运行sh和脚本以及像cat,sed这样的东西? 我想是因为MinGW,并在我的path,但不知道为什么,这是不同的命令与在UNIX中执行相同? 何时以及为什么要使用./或〜/? 我应该更好地分配我的电脑,并在unix中运行unix任务吗? 我可以find某处引用不同terminal的语法吗? 我已经尝试过,并喜欢UNIX中的VIM,但不能创build〜/ .vimrc在我的窗口从命令提示符,我可以修改我的命令提示符下运行的VIM吗? 我知道这是一个模糊的问题,但我试图尽我所能解释我所有的疑问,请评论我可以更好地解释我的疑惑和改善问题

shell脚本获取Linux上的进程ID

我想编写一个shell脚本( .sh文件)来获取给定的进程ID。 我在这里想要做的是一旦我得到进程ID,我想杀死这个进程。 我在Ubuntu(Linux)上运行。 我可以用类似的命令来做到这一点 ps -aux|grep ruby kill -9 <pid> 但我不知道如何通过shell脚本来做到这一点。

Boot2docker / Windows:不能在Ubuntu容器上运行bash

我正在通过第三章的“Docker Book”来安装和运行一个Ubuntu容器。 我在Windows 7.1上使用Boot2Docker。 下面是我尝试运行它时发生的情况(这是第二次尝试,所以它已经有一个本地图像副本): $ docker run -i -t ubuntu /bin/bash exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory FATA[0000] Error response from daemon: Cannot start container 5e985b0b101bb9584ea3e40355089a54d1fba29655d5a1e0900c9b32c4f7e4c4: [8] System error: exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory 状态: $ docker ps -a […]

如何在Windows上使用java执行linux命令?

我需要在Windows上使用java在单独的Linux机器上执行bash命令。 我需要从指定的目录运行可执行文件,如 cd /home/bin 我怎样才能做到这一点?

在Windows上修改Git提示符

我在Windows上使用Git,通过GitExtensions安装MSysGit(最新版),在安装过程中select了“不要修改我的Windows提示符”。 现在,我想能够修改默认提示(默认情况下只显示分支名称也显示了多less时间,以及从上次推送到origin (或特定的origin/master ,取决于)更轻松)。 所以说,而不是: me@myPC /c/myRepo (master) 我会看到以下me@myPC /c/myRepo (master) 5 | 10:20行: me@myPC /c/myRepo (master) 5 | 10:20 me@myPC /c/myRepo (master) 5 | 10:20 这意味着我最后10小时20分钟前,我已经做了5个地方提交。 在你提到之前,我知道有一些PowerShell的方法,但是我不想使用它。 我想我的标准git bash我们都知道和爱。 我发现了一些解决scheme,在.bashrc文件中修改PS1variables,但是(请原谅我可怜的Unix版本)他们似乎不工作,(例如接受这个问题的答案)。 所以你有它。 这可能吗?

运行Python代码时,Cmd和Git bash有不同的结果

平台:Git bash MINGW64,Windows 7,64 CMD当我从Learn Python The Hard Way ex11运行Python代码时。 代码很简单。 print "How old are you?", age = raw_input() print "How tall are you?", height = raw_input() print "How much do you weigh?", weight = raw_input() print "So, you're %r old, %r tall and %r heavy." % ( age, height, weight) 但是他们在CMD和Git bash中有不同的结果。 当我使用Git bash运行它时,raw_print()将首先运行。 […]

cronjob不执行独立工作的脚本

我有我的PHP脚本文件在/var/www/html/dbsync/index.php 。 当cd /var/www/html/dbsync/并运行php index.php它可以正常工作。 我想通过sh文件调用PHP文件,SH文件的位置如下 /var/www/html/dbsync/dbsync.sh 这是dbsync.sh文件的内容是: /usr/bin/php /var/www/html/dbsync/index.php >> /var/www/html/dbsync/myscript.log 2>&1 -q -f 当我cd /var/www/html/dbsync/并运行./dbsync.sh它也可以很好地工作。 现在,如果我设置如下的crontab: 1 * * * * /var/www/html/dbsync/dbsync.sh /var/www/html/dbsync 但是,这个crontab没有按预期工作。 什么可能是错的?

Makefile错误make(e = 2):系统找不到指定的文件

我在Windows中使用makefile来推送Unix服务器上的一些文件(这里是我的makefile文件夹中的一个文本文件“blob.txt”)。 我的makefile脚本是: setup: pscp blob.txt username@hostname:/folder/ 我启动命令提示符,进入blob.txt和makefile所在的文件夹,然后键入: make setup 其结果是: pscp blob.txt username@hostname:/folder/ process_begin: CreateProcess(NULL, pscp blob.txt username@hostname:/folder/, …) failed. make (e=2): The system cannot find the file specified. make: *** [setup] Error 2 在#fail中…而如果我直接在命令提示符下input命令: pscp blob.txt username@hostname:/folder/ 它的作品…我真的很奇怪为什么。

强制节点在Windows上使用git bash

我有一个package.json文件,如下所示: { "name": "APP", "version": "3.0.0", "private": true, "scripts": { "start": "node app.js", "test": "./test/dbLoad && env db=test test=1 jasmine" } } 当我运行npmtesting时,出现错误: '.' is not recognized as an internal or external command 我猜这是因为节点正在使用Windows cmd.exe 。 该命令工作正常,如果我用bash前言。 我可以在节点中更改某种configuration设置,以便自动使用bash吗?

获取Perl重命名实用程序,而不是内置的重命名

许多网站(包括各种SO文章)讨论使用Perlexpression式重命名文件的“重命名”。 这将是完美的,但显然这不是我的重命名实用程序,这些文章似乎都没有理解,有多个版本的“重命名”,我似乎无法find哪里接受Perlexpression式的版本。 我怎样才能在 这里提到的更强大的重命名实用程序, 在这里 , 这里 ? 我正在运行Fedora 20.我目前的重命名命令是从util-linux包,显然我需要Perl版本,这是更好的。