Articles of 脚本

Bash脚本创build符号链接到共享库

我认为这个问题对于你的shell脚本怪物是相当容易的。 我正在寻找最优雅和最简单的方式来创build符号链接到Unix的共享库通过bash shell脚本。 我需要的是从“libmythings.so.1.1,libotherthings.so.5.11”等共享库文件列表开始,获取创build的符号链接,例如: libmythings.so -> libmythings.so.1 -> libmythings.so.1.1 libotherthings.so -> libotherthings.so.5 -> libotherthings.so.5.11 库文件位于包含其他文件(如其他shell脚本)的目录中。 编辑 :好,“ldconfig -nN”。 可以正常工作,但是我还需要链接,没有在“.so”之后附加的库的主要编号,至less有一个库,因为一个或多个库是来自Java的JNI调用的入口点,所以当一个库通过System.loadlibrary(“libraryname”)的方式实例化,它期望一个名为“libraryname.so”的库,而不是“libraryname.so.X”。 只有ldconfig -nN的解决scheme可以工作,如果有Java部分的解决方法。

如何使用awk来提取引用的字段?

我在用 awk '{ printf "%s", $3 }' 从空格分隔的行中提取一些字段。 当领域里面有空格时,我会得到部分结果。 请任何机构提出解决scheme?

在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吗? 吉列尔莫

可以在RPM spec文件中“包含”其他文件吗?

在RPM规范中是否有一种“包含”指令? 我无法通过Googlesearchfind答案。 动机 :我有一个RPM规范模板,构build过程使用版本,修订版本和其他特定于构build的数据进行修改。 这是目前由sed完成的。 我认为如果规范将包含特定于构build的定义文件(这将由构build过程生成),那么将会更清洁,因此我不需要在规范中进行search和replace。 如果没有include ,有没有一种习惯的方式来做到这一点(相当普遍,我相信)的任务?

当一个信号来到时,杀死bash脚本前台儿童

我正在用这样的bash脚本包装一个fastcgi应用程序: #!/bin/bash # stuff ./fastcgi_bin # stuff 由于bash仅在前台脚本结束时执行信号陷阱,所以我不能仅仅kill -TERM scriptpid因为fastcgi应用程序将保持活跃状态​​。 我试过把二进制文件发送到后台: #!/bin/bash # stuff ./fastcgi_bin & PID=$! trap "kill $PID" TERM # stuff 但是,如果我这样做,显然标准input和标准输出没有正确的redirect,因为它不与lighttpds mod_fastgi连接,前台版本确实工作。 编辑:我一直在看问题,这是因为bashredirect/标准错误,当程序在后台启动,所以任何避免这种方式应该也解决了我的问题。 任何提示如何解决这个问题?

更好的方法来检查Linux版本?

我现在有什么 这是最好的方法吗? 有一个脚本有很多的function,需要一种方法来知道什么样的操作系统运行之前运行每个function。 CHECK_architecture() { architecture=`uname -m` if [ "$architecture" != "x86_64" ] && [ "$architecture" != "ia64" ]; then architecture="x86" else architecture="x86_64" fi } CHECK_distro() { DISTRO=""; if [ `uname -r | egrep '(6.2-RELEASE|6.1-RELEASE|5.5-RELEASE|6.1-STABLE|5.4-RELEASE|6.0-RELEASE|5.3-RELEASE|4.10-RELEASE|4.11-RELEASE)'` ]; then DISTRO="FreeBSD"; $BIN_ECHO " System is running FreeBSD" elif [ -f /etc/debian_version ]; then $BIN_ECHO " System is running […]

用netpipes / netcat绑定端口

我正在尝试编写一个简单的bash脚本,它正在端口上侦听,并用一个简单的HTTP响应进行响应。 我的具体问题是,我不知道端口是否可用,并在绑定失败的情况下,我回落到下一个端口,直到绑定成功。 到目前为止,实现这个目标的最简单的方法是这样的: for (( i=$PORT_BASE; i < $(($PORT_BASE+$PORT_RANGE)); i++ )) do if [ $DEBUG -eq 1 ] ; then echo trying to bind on $i fi /usr/bin/faucet $i –out –daemon echo test 2>/dev/null if [ $? -eq 0 ] ; then #success? port=$i if [ $DEBUG -eq 1 ] ; then echo "bound on […]

文本编辑器与脚本…为Linux

有一段时间了,我一直在Windows上使用UltraEdit。 用熟悉的语言(JavaScript)编写脚本的能力已被certificate是非常有用的。 唯一的问题是,我不能在我的Linux机器上使用它。 是否有一个可在Linux上运行的文本编辑器,并具有集成的脚本引擎? 不破坏银行和跨平台将是伟大的。 编辑:虽然可录制的macros是伟大的,我更多地使用脚本引擎。

如何使一个创build一个程序的40个同时实例的bash脚本?

我是bash和Linux新手。 我有一个我写的程序,我想要创build多个同时的实例。 现在,我打开10个新的terminal,然后运行程序10次(我运行的命令是php /home/calculatedata.php 什么是最简单的方法来做到这一点使用bash脚本? 另外,我需要知道如何杀死这些实例,因为它们正在运行一个无限循环。 谢谢!!

从编译的bash脚本中检索纯文本脚本

前段时间,我为我的学校写了一些bash脚本。 我认为保护它们是非常聪明的,所以我把它们编译成二进制文件。 几个星期后,我失去了未编译的脚本,现在我只剩下我的二进制文件了。 有没有办法从shc生成的binarys中取回脚本? 我查看了shc的源代码,find了一种不用运气反编译binarys的方法。