Articles of unix

如何在预期的shell脚本中获得产生的进程的退出代码?

我试图执行一个脚本,执行一个EXPECT脚本和一个派生的过程,它有退出代码。 但是我无法将产生的进程的退出代码获得到主脚本。 成功的时候我一直都是零。 期望脚本是: [Linux Dev:anr ]$ cat testexit.sh #!/bin/bash export tmp_script_file="/home/anr/tmp_script_temp.sh" cp /home/anr/tmp_script $tmp_script_file chmod a+x $tmp_script_file cat $tmp_script_file expect << 'EOF' set timeout -1 spawn $env(tmp_script_file) expect { "INVALID " { exit 4 } timeout { exit 4 } } EOF echo "spawned process status" $? rm -f $tmp_script_file echo "done" 衍生的脚本: [Linux […]

如何使用Shell脚本读取包含具有句点字符的键的.properties文件

我正在尝试从包含句点(。)字符的shell脚本读取属性文件,如下所示: # app.properties db.uat.user=saple user db.uat.passwd=secret #/bin/sh function pause(){ read -p "$*" } file="./app.properties" if [ -f "$file" ] then echo "$file found." . $file echo "User Id " $db.uat.user echo "user password =" $db.uat.passwd else echo "$file not found." fi 我已经试图parsing文件后,源文件,但它不工作,因为键包含“。 字符,并且在这个值中也有空格。 我的属性文件总是驻留在脚本的相同目录中或/ usr / share / doc中的某个位置

现代Unix / Linux系统上的密码仍然限制在8个字符以内?

多年以前,Unix密码被限制为8个字符,或者如果您input的密码长度超过8个字符,那么额外的configuration就不会有任何区别。 大多数现代Unix / Linux系统仍然如此吗? 如果是这样,那么在大多数系统上,更长的密码何时变成可能? 有没有一种简单的方法来判断一个给定的系统是否支持更长的密码,如果是的话,有效的最大值(如果有的话)是多less? 我已经做了一些关于这个话题的networkingsearch,并且找不到任何确定的东西。 大部分出现在21世纪初的时候,我认为8个字符的限制仍然是常见的(或者普遍存在,足以保证这个限制)。

好的C库集合?

我正在为ANSI-C寻找一个好的库集合,用于处理向量的东西,哈希映射,二进制发辫,string处理等等。

“source script.sh”和“./script.sh”有什么区别?

source <script>和./<script>什么区别?

linux:获取已经运行的进程的umask?

我如何检查当前正在运行的程序的umask? [更新:另一个进程,而不是当前进程。]

什么是在不使用临时文件的情况下读取vim中的手册页的方法

我想能够阅读vim中的手册页。 由于某种原因,vim似乎无法通过pipe道读取程序的输出(即'(man ls)| vi'似乎不工作,奖励指向某人可以解释为什么),并得到在这附近,我一直在使用下面的小脚本: tempo = `mktemp` man $1 > $tempo ; vi $tempo 这个脚本使用的临时文件,我猜工作正常,但我想知道是否有一个好的方法来读取VIM的手册页,而不诉诸临时文件

ngrok如何在防火墙后面工作?

Ngrok( https://ngrok.com/ )应该允许您通过转发将本地端口和服务展示给万维网。 但是,如果我打开我的本地机器上的端口80,如下所示: ngrok 80 我回来了: Tunnel Status online Version 1.3/1.3 Forwarding http://3a4bfceb.ngrok.com -> 127.0.0.1:80 Forwarding https://3a4bfceb.ngrok.com -> 127.0.0.1:80 Web Interface http://127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms 据我所知,任何对http://3a4bfceb.ngrok.com的请求都将通过端口80发送到本地计算机,但如果我坐在阻止传入通信的NAT /防火墙之后(这是一种非常常见的情况)。 ngrok是否会启动轮询请求以确定何时收到数据?

如何将文件权限更改为某个文件模式到当前目录的子文件夹?

使用chmod ,我在当前目录中执行chmod +x *.sh ,但是如果我想要更改所有文件,包括具有sh文件扩展名的子文件夹中的文件,该怎么办? chmod +x -R *会工作,但我需要更多的东西像chmod +x -R *.sh

目录中的最大数量的inode?

单个目录中是否有最大数量的inode? 我有一个超过200万个文件的目录,无法使用ls命令对该目录进行操作。 所以现在我想知道如果我已经超过了Linux的inode的限制。 2 ^ 64数字限制之前是否有限制?