Articles of bash

bash单线循环遍历目录抛出错误

我正在尝试构build一个bash单线程来循环当前目录中的目录,并将内容转换为唯一的焦点,使用目录名作为tar文件名。 我已经掌握了基础知识(查找目录名称,并将它们与这些名称进行比较),但是我的循环抛出了一些错误消息,我无法理解它在哪里得到它尝试运行的命令。 这里是主要工作的一行: for f in `ls -d */`; do `tar -czvvf ${f%/}.tar.gz $f`;done “奇怪”的输出是: -bash: drwxrwxr-x: command not found -bash: drwxr-xr-x: command not found -bash: drwxr-xr-x: command not found -bash: drwxrwxr-x: command not found 我正在运行的命令的哪部分我不理解,并且正在生成该输出?

Linux命令提示符 – Ctrl + r – 不能正常工作

每当我在我的命令提示符下按Ctrl + r时,似乎我有10毫秒完成键入任何我正在寻找,在这一点上,它search到目前为止我input的任何内容。 它似乎也缺less我input的命令。 另外,当我在search失败之后再次点击逃跑时,它会在我的命令行上发现任何愚蠢的东西。 我如何回到空的命令行? 另外如何滚动search结果? 如果这种逆向search不能更好,有没有更好的方法来search我的历史?

删除指定date之前的所有文件夹,但其中一些文件夹除外

我必须在bash中执行一个脚本作业,以删除比指定date更早的path中的所有目录,除了其中的一部分。 我知道不应该被删除的目录的名字… 你可以帮我吗??? 我很抱歉,但我是一个初学者… 非常感谢!

我怎么能遍历每个连接到特定的负载平衡器在bash ec2实例?

我有这个bash行,给了我连接的EC2实例的IP。 export LB_NAME='lb' ec2-describe-instances `elb-describe-instance-health $LB_NAME –show-long | cut -d , -f 2` | grep 'INSTANCE' | cut -f 4 这个回声是这样的: ec2-50-11-53-xx.compute-1.amazonaws.com ec2-50-76-13-xx.compute-1.amazonaws.com 现在,当自动调整程序向loadbalancer添加更多的框时,这个列表可能会变得更长,我想要一个bash循环,不pipe它们有多less, 非常感谢!

我怎么能在UNIX-aix中获取date,并将ecah部分存储在variables中

我写batch file,我想比较修改时间(timstap)到两个文件夹,并复制最新的一个。 我不知道是否这个选项可用的目录是因为我不知道,所以我想获得的date,并存储在变化的每个部分来比较它 例如: – 得到datedate 11 5 2011 11:10:57 天= 11 一个月= 5 年= 2011 小时= 11 分= 10 secnd = 57

如果标准input上有任何input,则运行另一个命令

如果标准input上有任何input,我怎样才能运行另一个命令 常用于这样的情况: 一些没有正常输出的命令| 如果input邮件“一些输出”我

将纪元时间转换为可读时间窗口

我写了一个将时代转换为可读时间的代码 sd=`date -d '1970-01-01 UTC '$SDATE' seconds' +"%d-%m-%Y"` 输出是:27-12-2002,但我想输出是:27 / Nov / 2002 我应该如何改变我的代码?

Linux – Bash – 从源代码复制多行string到terminal

我在准备一个系统时正在写笔记,所以如果/当我需要准备另一个系统的时候我有一些东西需要关注。 此外,我希望能够使用这些笔记,并在某些时候实现傀儡configuration。 我试图编写多行bash命令,但是当我从我的IDE(aptana)复制并粘贴到terminal中时,我得到了奇怪的行为,并且命令从不执行,即使当我回退历史时,多行命令看起来像我手动input。 我的问题是,如何将命令保存为多行格式,以便快速复制并粘贴到terminal中? 例: $ "mkdir -p /var/log/php && \ chown -R apache /var/log/php && \ chgrp -R webdev /var/log/php && \ chmod -R 775 /var/log/php && \ touch /var/log/php/oops.log" touch /var/log/php/oops.log: No such file or directory

bash函数用ssh

我只是第一次进入bash。 我如何在这个范围内的服务器上运行一个函数? 只有在服务器上才是ssh连接的。 #!/bin/bash function test { drush status } function connect { ssh user@serveraddress 'test' } connect 我知道你需要把远程代码放在ssh user @ server的代码中,但是复杂的东西会和所有''等混淆。例如,这应该会回显服务器的所有数据库名称。 function connect { ssh user@serveraddress ' dbuser=user dbpass=pass DBS=`mysql -u$dbuser -p$dbpass -Bse 'show databases'| egrep -v 'information_sch$ for db in $DBS; do echo "DB name – $db" done ' } connect 任何帮助链接表示赞赏,欢呼

在不设置路由器的情况下获得ssh访问的策略

我将需要通过ssh远程pipe理某人的macbook pro。 问题是,他们将在networking之间移动,所以我不能只在他们的路由器上设置端口转发。 无论他们在哪个networking上,我可以使用什么策略获得访问权限? 我想一个可能性可能是让他们运行一个bash脚本(希望通过双击桌面上的图标),以某种方式使我可以ssh进入。 也许根据https://github.com/progrium/localtunnel的行可以做的工作? 谢谢!