Tag: 贝壳

什么是$? shell脚本中$ 0 $ 1 $ 2的意思是?

我经常碰到$? $0 $1 $2 etc…. $? $0 $1 $2 etc….在shell脚本中,我知道的是$? 返回最后一个命令的退出状态 echo "this will return 0" echo $? 但其他人做了什么? 他们叫什么,还有更多? 也许就像$ 3 $ 4 $ 5 …

Shell脚本来设置环境variables

我希望编写一个shell脚本来导出variables。 下面我列出了脚本。 echo "Perform Operation in su mode" export ARCH=arm echo "Export ARCH=arm Executed" export PATH='/home/linux/Practise/linux-devkit/bin/:$PATH'; echo "Export path done" export CROSS_COMPILE='/home/linux/Practise/linux-devkit/bin/arm-arago-linux-gnueabi-'; echo "Export CROSS_COMPILE done" 但是这似乎不能正常工作。 我必须在shell提示符下单独执行这些命令。

stream浪者configuration壳vs木偶vs厨师

我有以下设置: 许多不同的项目是独立的git仓库,但都具有相同的服务器configuration 每个项目依次依赖于许多其他项目,我们使用composer php依赖pipe理器把它们放在一起(PHP语言在这里)。 我想使用Vagrant,并在每个存储库中包含一个Vagrant文​​件,所以我的团队成员可以克隆一个存储库,运行vagrant up并准备好去。 我现在的问题是针对configuration。 我需要安装一些工具和软件包,比如apache,git,mysql和几个php软件包,然后下载一些文件(比如最近的一个开发数据库转储文件),把所有东西放在/ var / www中,然后运行composer install命令。 所以一个select是使用厨师或傀儡等食谱的经理。 另一种方法是编写一个bash文件并使用shellconfiguration。 我对厨师/傀儡没有太多的经验,所以自然而然,使用shell选项似乎更容易,但是我想了解,如果这从长远来看不是一个好的/可行的select。 为什么对我来说这似乎是一个不好的方法去与木偶/厨师: 我明白,我将不得不使用几种不同的食谱,并且几乎总是对我的不同的储存库使用相同的食谱,所以我将不得不将所有的食谱包括在所有的储存库中。 考虑有20个回购,需要10个配方,这意味着我将需要添加200个食谱作为一个git子模块或类似(也是每个团队成员需要克隆存储库,然后克隆10个配方库,然后只运行vagrant了每项目)。 相反,我只需要用我的shell脚本有一个小的回购,并克隆它20次。 我可能错过了一些东西,所以请告知我是否应该select厨师/傀儡,为什么它有意义,即使我的存储库都有一个非常类似的服务器设置。

Shell脚本variables不为空(-z选项)

如何使用-z选项确保variables不为空? errorstatus="notnull" if [ !-z $errorstatus ] then echo "string is not null" fi 它返回错误: ./test: line 2: [: !-z: unary operator expected

如何从Artifactory存储库下载最新的工件?

我需要从Artifactory中的仓库获取最新的工件(例如快照)。 这个工件需要通过脚本复制到服务器(Linux)。 我有什么select? 像Wget / SCP的东西? 而我怎么得到神器的path? 我发现了一些需要Artifactory Pro的解决scheme。 但我只有Artifactory,而不是Artifactory Pro。 是否有可能从Artifactory下载没有用户界面,也没有Pro版本? 什么是经验? 如果有问题,我在OpenSUSE 12.1(x86_64)上。

分叉/多螺纹工艺| 巴什

我想使我的一段代码更有效率。 我正在考虑把它分成多个进程,让它们一次执行50/100次,而不是一次。 例如(伪): for line in file; do foo; foo2; foo3; done 我想这个for循环运行多次。 我知道这可以用分叉来完成。 它看起来像这样吗? while(x <= 50) parent(child pid) { fork child() } child { do foo; foo2; foo3; done return child_pid() } 还是我想这是错误的方式? 谢谢!

将grep结果分配给shellvariables后丢失换行符

#!/usr/local/bin/bash out=`grep apache README` echo $out; 通常,grep在命令行上运行时会在单独一行中显示每个匹配项。 但是,在上面的脚本中,分隔每个匹配的换行消失。 有谁知道如何保留换行符?

shell脚本删除文件,如果它已经存在

我正在处理一些将数据存储在文件中的东西。 但每次运行脚本时,都会附加到前一个文件。 如果文件已经存在,我需要帮助。

通过使用shell脚本replace文件名中的特定模式重命名多个文件

写一个简单的脚本,将自动重命名一些文件。 作为一个例子,我们希望文件* 001.jpg重命名为用户定义的string+ 001.jpg(例如:MyVacation20110725_001.jpg)这个脚本的用法是让数码相机的照片具有一定的文件名。 我需要为此编写一个shell脚本。 有人可以build议如何开始?

在shell脚本中从调用函数返回值

我想从shell脚本中调用的函数返回值。 也许我错过了语法。 我尝试使用全局variables。 但是这也不起作用。 代码是: lockdir="somedir" test() { retval="" if mkdir "$lockdir" then # Directory did not exist, but it was created successfully echo >&2 "successfully acquired lock: $lockdir" retval="true" else echo >&2 "cannot acquire lock, giving up on $lockdir" retval="false" fi return retval } retval=test() if [ "$retval" == "true" ] then echo "directory […]