Tag: bash

recursion地查找所有比给定时间更新的文件

给定一个time_t: ⚡ date -ur 1312603983 Sat 6 Aug 2011 04:13:03 UTC 我正在寻找一个bash单行,列出所有新的文件。 比较应考虑到时区。 就像是 find . –newer 1312603983 但用time_t而不是文件

Bash脚本将HTML实体转换为字符

我正在寻找一种方法来打开这个: hello &lt; world 对此: hello < world 我可以使用sed,但是如何在不使用神秘正则expression式的情况下完成呢?

在terminal中使用ctrl-x时发送哪个信号?

在Linux / Unix上有信号。 Ctrl C 1( SIGINT )对我来说是显而易见的。 现在,在其他一些应用程序中有通过Ctrl X的信号! 这是甚至是一个信号,或者它产生一个逃生序列? 还有什么我可以使用类似于Ctrl C ( Ctrl V , Ctrl X …)? 如果有人有线索,我不仅比bash更熟悉C,而且赞赏这两种语言的答案!

Bash如何在不同的目录上下文中执行命令?

我有一个共同的命令,从非常特定的目录中调用。 该程序只有一个可执行文件位于/ bin中,而且当前工作目录对于正确运行它非常重要。 该脚本会影响其运行目录内的文件。 现在,我也有一个自定义的shell脚本,在一个目录中执行某些操作,但是我需要将上面提到的那个命令调用,就好像它在另一个目录中一样。 你如何在shell脚本中做到这一点?

如何最好地整合Emacs和Cygwin?

有很多方法可以将Cygwin与Emacs整合到Windows上。 EmacsWiki显示了一些想法。 以下是我find的选项: 使用Cygwin附带的Emacs。 (然后find一个方法来到达cmd.exe,如果你想要的话)。 使用NTEmacs和Cygwin作为“有时”的shell。 (一个特别的命令来启动Cygwin) 使用NTEmacs和Cygwin作为“始终”的shell。 (Mx shell启动cygwin) 为了说明“为什么”。 这里有几个例子,我希望我有Cygwin和Emacs: Mx的whois不工作在NTEmacs。 像Wanderlust这样的软件包包含一个不友好的Windows的Makefile。 有时我只需要一个bash shell的东西。 那么Emacs / Cygwin的哪个选项适用于其他? 另外,有没有人试过MSYS集成成功?

在bash / ksh中获取命令的退出代码

我想写这样的代码: command="some command" safeRunCommand $command safeRunCommand() { cmnd=$1 $($cmnd) if [ $? != 0 ]; then printf "Error when executing command: '$command'" exit $ERROR_CODE fi } 但是这个代码不能按我想要的方式工作。 我犯了什么错误?

如何修改bash中的函数内的全局variables?

我正在处理这个问题: GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) 我有一个像下面的脚本: #!/bin/bash e=2 function test1() { e=4 echo "hello" } test1 echo "$e" 哪个返回: hello 4 但是如果我把函数的结果赋值给一个variables,全局variablese就不会被修改: #!/bin/bash e=2 function test1() { e=4 echo "hello" } ret=$(test1) echo "$ret" echo "$e" 返回: hello 2 在这种情况下,我听说过使用eval ,所以我在test1做了这个: eval 'e=4' 但是同样的结果。 你能解释一下为什么它没有被修改? 我怎样才能将ret1中的test1函数的回声保存起来,并修改全局variables呢?

在bash脚本中,我如何清理用户input?

我正在寻找采取简单input的最佳方式: echo -n "Enter a string here: " read -e STRING 并通过删除非字母数字字符,降低(大小写)和用下划线replace空格来清理它。 订单是否重要? 是最好的/唯一的方式去做这件事?

在后台运行bash命令而不打印作业和进程ID

在bash的后台运行一个进程相当简单。 $ echo "Hello I'm a background task" & [1] 2076 Hello I'm a background task [1]+ Done echo "Hello I'm a background task" 但是输出是冗长的。 在第一行打印后台任务的作业ID和进程ID,然后输出命令,最后得到作业ID,状态和触发作业的命令。 有没有一种方法来抑制运行后台任务的输出,使得输出看起来和最后没有&符号一样? 即: $ echo "Hello I'm a background task" & Hello I'm a background task 我要问的原因是我想运行一个后台进程作为tab-completion命令的一部分,所以这个命令的输出必须是不中断的。

如何从标准input多variablesinput读入variables,以及如何在shell(sh,bash)中打印出一个?

我想要做的是以下几点: 从stdininput读取多行input到variablesA 对A进行各种操作 而不会丢失分隔符( \n , \r , \t等)到另一个命令 目前的问题是,我不能read命令,因为它停止阅读新行。 我可以用cat读stdin,就像这样: my_var=`cat /dev/stdin` ,但是我不知道如何打印。 所以换行符,制表符和其他分隔符仍然存在。 我的示例脚本如下所示: #!/usr/local/bin/bash A=`cat /dev/stdin` if [ ${#A} -eq 0 ]; then exit 0 else cat ${A} | /usr/local/sbin/nextcommand fi