Articles of bash

Godaddy主机上的CakePHP控制台

我一直在努力让我的CakePHP网站在Godaddy“网格托pipe”帐户上工作。 我的蛋糕应用程序安装在帐户的子目录中,可以通过子域访问。 我不得不调整我的.htaccess文件来使这个工作,现在我需要让CakePHP控制台在这个环境中工作。 我在Amazon EC2服务上托pipe的Ubuntu服务器上安装了相同的蛋糕应用程序。 基本上一个简单的Ubuntu LAMP安装程序。 CakePHP控制台在此环境中按预期工作。 当我尝试在Godaddy上运行控制台时,我收到以下消息: CakePHP控制台:此文件加载不正确,无法继续。请确保/ cake / console在您的系统path中,并检查手册是否正确使用此命令( http://manual.cakephp.org/)。 ) 我已经开始在cake / console / cake.php中添加一些debugging代码来了解发生了什么。 在godaddy网站上,当我在第183行回显print_r($this->args) ,发现数组是空的。 当我在我的Ubuntu EC2实例上这样做时,我得到这个: Array ( [0] => /var/www/www.directory.sdcweb.org/htdocs/cake/console/cake.php ) 它看起来像godaddy的命令行PHP不通过bash shell命令行参数。 有没有人有一些build议,我可能会得到CakePHP控制台上Godaddy的工作? 调用Cake shell的bash脚本包含以下内容 LIB=${0/%cake/} APP=`pwd` exec php -q ${LIB}cake.php -working "${APP}" "$@" exit; 我在想,修改这个脚本可能会解决这个问题。

创build目录结构的Bash脚本

我一直在search整夜,试图find一种方法来创build一个脚本,创build一个目录结构。 这看起来像这样: / 共享 共享/项目 共享/系列 共享/电影 共享/电影/动作 你明白了。 脚本读取的文件如下所示: 共享备份 共享数据 共享项目 共享projcets系列 共享项目电影 共享项目电影行动 我想要创build一个脚本来读取文件中的每一行,并为每一行运行以下命令:如果该目录存在,它将自己置于该目录中,并从该目录创build结构,如果该目录不存在,则创build它。 当该行中的所有条目都已经在之前时,回到原始目录并阅读下一行。 我的系统是Ubuntu 10.10。 到目前为止,我已经做到了这一点,但是它不起作用。 #!/bin/bash pwd=$(pwd) for structure in ${column[*]} do if [ $structure ] then cd $structure else mkdir $structure fi done cd $pwd

Shell脚本来获取Linux上定义的用户列表?

我把它放在一起,但它很糟糕(例如,在那里的魔法数字,文本parsing..嘘!) awk -F: '{if($3 >= 1000 && $3 < 2**16-2) print $1}' /etc/passwd 什么是正确的方法来做到这一点?

捕获日志文件中的nethogs输出

我想检查我的进程使用的networking带宽。 对于这个我发现nethogs工具是有用的。 使用这个工具,我可以看到哪个进程正在吃掉networking带宽和进程行为。 但是,如何从nethogs中获取我的进程的数据并将其存储到日志文件中?

如何将git命令的输出存储在variables中?

我想要的是将一个git命令的输出(如git status)存储在shell脚本中的一个variables中。 当我说输出时,我正在讨论在terminal执行某个命令时返回的文本,例如:在我的repo之外做一个git状态: fatal: Not a git repository (or any of the parent directories): .git 我试过这个: var=$(git status) 但'var'没有存储任何东西。

Bash,find文件并执行命令

我有很多rar档案在个人文件夹结构,并希望脚本拆包全部。 我很难弄清楚应该怎么做,需要一些帮助。 #!/bin/bash ## For all inodes for i in pwd; do ## If it's a directory if [ -d "$i" ] then cd $i ## Find ".rar" file for [f in *.rar]; do ./bin/unrar x "$f" # Run unrar command on filename cd .. done done done 我不熟悉bash脚本,我认为代码错误不止一次。 但我想这应该是基本结构

在Sh / Bash和php中parsingconfiguration参数的最佳/最简单的方法

我得到了每个PHP项目(大约25!),一些sh脚本,可以帮助我进行部署,回购同步,数据库导出/导出等常规任务。 sh脚本对于我pipe理的所有项目都是相同的,所以必须有一个configuration文件来存储依赖项目的不同参数: # example conf, the sintaxys only needs to be able to have comments and be easy to edit. host=www.host.com administrator_email=guill@company.com password=xxx 我只需要find一个干净的方式,从sh脚本中读取(parsing)这个configuration文件,同时也可以从我的PHP脚本中读取相同的参数。 无需使用XML。 你知道这个好的解决scheme吗? 吉列尔莫

如何使用curl从Linux命令行发送数据?

我试图通过无线连接从embedded式Linux设备传输数据。 我有curl和wget在设备上。 如何使用curl或wget将数据传输出设备? 任何指针欢迎。

查看上次触摸文件的过程

在一个有一些进程定期更改目录和文件权限的Linux机器上,大致每天。 这不是我设置的过程,我不知道它是什么。 我有根访问权限,我可以很容易地手动更改权限来获取访问权限,但有点烦人。 有没有办法看到上次触摸文件的进程列表? 或者,我该如何去处理文件上的日志过程活动。

HUP什么时候停止发送,我该怎么办?

早在我年轻的时候,Unix就是新事物,创build一个在注销时不会被杀的进程是一个挑战。 我们使用nohup命令来保护HUP信号中的持续进程。 如果我们不小心,当我们注销时,我们的进程就会被杀死,甚至closures我们启动它们的shell。 快进到今天,我发现我很惊讶,默认情况恰恰相反。 在Ubuntu和Red Hat系统上,我发现我几乎可以在后台放置任何进程,杀死父shell,注销,任何事情,只是继续下去。 我看到与Bash脚本,Python脚本和C程序相同的行为。 我从xterm或ssh会话中获得相同的行为。 例如,在xterm或ssh窗口中input: while [ 1 ]; do date; sleep 10; done > /tmp/out & 现在从另一个窗口运行 tail -f /tmp/out 看它每10秒打印一次date,然后用Ctrl-Dclosures原来的父shell。 仍在运行。 注销并返回。仍在运行。 发送一个HUP信号,它立即死亡。 我可以展示与Python脚本或C程序相同的行为。 睡或不要紧。 例如,这个丑陋的C程序行为相同: #include <stdio.h> void main() { while(1) { printf("*\n"); fflush(stdout); int i, j, k = 0; for(i=0; i < 10000; i++) { for(j=0; j […]