Tag: bash

我可以从bash脚本中将variables导出到环境中吗?

假设我有这个脚本 export.bash : #! /usr/bin/env bash export VAR="HELLO, VARABLE" 当我执行脚本,并尝试访问$VAR我没有任何价值! echo $VAR 有没有办法通过执行export.bash来访问$VAR ,而不采购它?

所有的文件除了一些

使用sudo rm -r ,如何删除所有文件,但以下情况除外: textfile.txt backup.tar.gz script.php database.sql info.txt

在terminal中使用mysql来取消警告消息,但使用bash脚本编写密码

当我试图在terminal内运行MySQL的以下命令时: mysql -u $user -p$password -e "statement" 执行按预期工作,但始终发出警告: 警告:在命令行界面上使用密码可能不安全。 但是,我必须使用一个存储我的密码的环境variables( $password )来执行上面的语句,因为我想从terminal内的bash脚本中迭代运行该命令,而且我绝对不喜欢等待提示出现并迫使我在一个脚本中input我的密码50或100次。 所以这是我的问题: 抑制警告是否可行? 这个命令正如我所说的那样工作正常,但是当我循环并运行命令50或100次时,窗口变得非常混乱。 我应该遵守警告信息,不要在我的脚本中写密码吗? 如果是这样的话,那么每次提示强迫我时都必须input我的密码吗? 运行man mysql并没有帮助,只是说 –show-warnings 如果有任何陈述,会在每个陈述后显示警告。 该选项适用于交互式和批处理模式。 并没有提到如何closuresfunction,如果我不丢失的东西。 我在OS X 10.9.1小牛,并从自制软件使用MySQL 5.6。

删除所有本地git分支

我遵循一个开发stream程,为每个新function或故事卡创build一个新的本地分支。 完成后,我将分支合并到主机中,然后按下。 由于懒惰或健忘的原因,随着时间的推移,往往会发生一大堆地方分支,其中一些(如尖峰)可能没有合并。 我知道如何列出所有本地分支,我知道如何删除一个分支,但我想知道是否有一个git命令,允许我删除所有本地分支? 下面是git branch –merged命令的输出。 user@machine:~/projects/application[master]$ git branch –merged STORY-123-Short-Description STORY-456-Another-Description STORY-789-Blah-Blah * master 所有尝试删除使用grep -v \*列出的分支(按照下面的答案)会导致错误: error: branch 'STORY-123-Short-Description' not found. error: branch 'STORY-456-Another-Description' not found. error: branch 'STORY-789-Blah-Blah' not found. 我在用着: git 1.7.4.1 Ubuntu 10.04 GNU bash,版本4.1.5(1) – 发布 GNU grep 2.5.4

linux:杀死后台任务

我如何杀死在Linux最后衍生的后台任务? 例: doSomething doAnotherThing doB & doC doD #kill doB ????

如何创build一个临时目录?

我用来创build一个tempfile ,删除它,并重新创build一个目录: tmpnam=`tempfile` rm -f $tmpnam mkdir "$tmpnam" 问题是,如果在一个进程rm -f X和mkdir X之前偶然执行tempfile,另一个进程可能会得到相同的名称X

在UNIX shell脚本中从列表中select唯一或不同的值

我有一个ksh脚本,返回一个很长的值列表,换行符分隔,我想只看到唯一/不同值。 有可能做到这一点? 例如,假设我的输出是目录中的文件后缀: tar gz java gz java tar class class 我想看到一个像这样的列表: tar gz java class

在bash中获取当前用户的用户名?

我正在编写一个程序,需要获取用户的用户名。 我听说过一个叫做whoami的东西,但是我不知道它在做什么或者如何使用它。 我用什么命令来获取当前用户名?

计算terminal输出中的行数

在SO上找不到这个。 我在terminal中运行以下命令: >> grep -Rl "curl" ./ 并显示出现关键字curl的文件列表。 我想统计文件的数量。 我能想到的第一种方法是计算terminal中输出的行数。 我怎样才能做到这一点?

检查是否安装了软件包,如果没有安装,请安装

我正在开发一个Ubuntu系统,目前这就是我正在做的事情: if ! which command > /dev/null; then echo -e "Command not found! Install? (y/n) \c" read if "$REPLY" = "y"; then sudo apt-get install command fi fi 这是大多数人会做的吗? 还是有一个更优雅的解决scheme?