Tag: linux

如何在bash中使用getopts的例子

我想以这种方式调用myscript文件: $ ./myscript -s 45 -p any_string 要么 $ ./myscript -h >>> should display help $ ./myscript >>> should display help 我的要求是: getopt在这里获取input参数 检查-s存在,如果不是则返回错误 检查-s之后的值是45还是90 检查-p存在,之后是否有inputstring 如果用户input./myscript -h或只./myscript则显示帮助 我试过这个代码: #!/bin/bash while getopts "h:s:" arg; do case $arg in h) echo "usage" ;; s) strength=$OPTARG echo $strength ;; esac done 但是用这个代码,我得到错误。 如何用Bash和getopt做到这一点?

Linux:closuresSSH客户端后,防止后台进程停止

我正在通过SSH(腻子)在Linux机器上工作。 我需要让一个进程在夜间运行,所以我认为我可以通过在后台启动进程(在命令结尾处带有&符号)并将stdoutredirect到一个文件来实现。 令我惊讶的是,这是行不通的。 只要我closures腻子窗口,过程就停止了。 我怎样才能防止这种情况发生?

如何在Linux中符号链接文件?

我想在Linux中做一个符号链接。 我已经写了这个bash命令,第一个path是我想链接到的文件夹,第二个path是编译后的源文件。 ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal 它是否正确?

如何在Bash中以点分隔版本格式比较两个string?

有没有什么办法比较这样的string在bash,例如: 2.4.5和2.8和2.4.5.1 ?

Windows和Linux目录名称中禁止使用哪些字符?

我知道/在Linux中是非法的,以下在Windows(我认为)是非法的* . " / \ [ ] ; | = , 我还有什么遗漏? 然而,我需要一个全面的指导,并且需要考虑到双字节字符。 连接到外部资源对我来说很好。 我需要首先使用可能包含禁止字符的名称在文件系统上创build一个目录,所以我打算用下划线replace这些字符。 然后我需要将这个目录及其内容写入一个zip文件(使用Java),所以有关zip目录的名字的任何额外的build议将不胜感激。

rm,cp,mv命令的参数列表太长错误

在UNIX中的目录下有几百个PDF文件。 PDF的名称非常长(约60个字符)。 当我尝试使用以下命令一起删除所有PDF: rm -f *.pdf 我得到以下错误: /bin/rm: cannot execute [Argument list too long] 这个错误的解决scheme是什么? 这个错误是否也发生在mv和cp命令中呢? 如果是,如何解决这些命令?

获取机器的IP地址

这个问题与之前提出的获取本地计算机的IP地址 -Question几乎相同。 但是我需要findLinux机器的IP地址。 所以:我如何 – 在C ++中以编程方式 – 检测我的应用程序正在运行的Linux服务器的IP地址。 服务器将至less有两个IP地址,我需要一个特定的(在给定的networking(公众之一))。 我确定有一个简单的function来做到这一点 – 但是在哪里? 为了使事情更清楚: 服务器显然会有“localhost”:127.0.0.1 服务器将有一个内部(pipe理)IP地址:172.16.xx 服务器将有一个外部(公共)IP地址:80.190.xx 我需要find外部IP地址绑定我的应用程序。 显然我也可以绑定到INADDR_ANY(实际上这就是我现在所做的)。 不过,我宁愿检测公共地址。

正则expression式(grep)用于多行search需要

可能重复: 如何在文件中search多行模式? 使用pcregrep 我正在运行一个grep来查找任何* .sql文件,它包含单词select后跟单词customerName后跟单词from 。 这个select语句可以跨越多行,可以包含制表符和换行符。 我已经尝试了以下几个变化: $ grep -liIr –include="*.sql" –exclude-dir="\.svn*" –regexp="select[a-zA-Z0- 9+\n\r]*customerName[a-zA-Z0-9+\n\r]*from" 然而,这只是永远运行。 任何人都可以帮助我正确的语法吗?

谁“杀了”我的过程,为什么?

我的应用程序在Linux上作为后台进程运行。 它目前在terminal窗口的命令行中启动。 最近一个用户正在执行该应用程序一段时间,它神秘地死了。 文本: 杀害 在terminal上。 这发生了两次。 我问是否有人在不同的terminal使用kill命令来终止进程? 没有。 在什么情况下,Linux会决定杀死我的进程? 我相信shell会显示“Killed”,因为进程在收到kill(9)信号后死亡。 如果Linux发送kill信号,应该在某个系统日志中有一条消息解释为什么它被杀死了?

在Linux中启动iPhone应用程序开发?

我听说,如果你想开发iPhone应用程序,你需要得到一个Mac。 这是真的? 是否有可能使用Linux开发iPhone应用程序? 如果是的话,我需要什么,我在哪里下载必要的工具?