70得票3回答
将输出管道传输到环境变量的导出命令

我正在尝试将 git 哈希值设置为环境变量,我认为这很简单: 但实际上并不是。以下是我尝试过的方法:git log --oneline -1 | export GIT_HASH=$1 但是$1没有包含任何内容。我做错了什么?

69得票11回答
如何在shell函数内实现"set -e"的效果和用处?

set -e(或者以#!/bin/sh -e开头的脚本)非常有用,可以在出现问题时自动退出。这样我就不需要检查每个可能失败的命令。 如何在函数中实现类似的效果? 例如,我有下面的脚本,它在出错时立即退出并返回错误退出状态:#!/bin/sh -e echo "the following ...

69得票5回答
内联if shell脚本

可以像这样在命令行中执行 shell 脚本吗:counter=`ps -ef | grep -c "myApplication"`; if [ $counter -eq 1 ] then; echo "true"; > 上面的示例没有起作用,我只得到了>字符而不是我想要的结果,也就...

69得票4回答
为什么即使其中一个指向另一个,/bin/sh的行为仍然与/bin/bash不同?

在调查这个问题的答案时,我在我的shell中玩耍,注意到尽管我的系统上/bin/sh指向/bin/bash,但这两个命令的行为是不同的。ls -lh /bin/sh 是:lrwxrwxrwx 1 root root 4 Apr 22 2013 /bin/sh -> bash* 然而,通...

69得票8回答
如何使用bc计算一个数的对数?

我想计算一个数的以10为底的对数。我该如何使用bc来实现?

69得票3回答
Shell:将标准输出重定向到/dev/null,将标准错误输出重定向到标准输出

我在cyberciti.biz的评论中看到了这个有趣的问题。 我发现我甚至无法用一行sh命令以灵活的方式完成这个问题。 根据我的思路,解决方案是: tmp_file=`mktemp` (./script 2>$tmp_file >/dev/null; cat $tmp_fil...

69得票6回答
Dockerfile中的CMD指令在运行后会使容器退出。

我想在容器启动时设置一些配置,因此我正在使用shell脚本。但是我的容器将在我的脚本结束后立即退出,我尝试使用-d标志/分离模式,但它永远不会运行在分离模式下。 以下是我的DockerfileFROM ubuntu:14.04 ADD shell.sh /usr/local/bin/she...

67得票2回答
双分号(;;)语法在Dash中的用法

我正在尝试找到一种在sh中并行运行多个命令并等待它完成的方法。 我发现以下内容不起作用(sh: 1: Syntax error: ";" unexpected):sh -c '(sleep 3 && echo 1) & ; (sleep 3 &amp...

66得票11回答
运行命令play时出现错误:/usr/bin/env: sh: 没有那个文件或目录。

我是Play框架的初学者。我刚刚提取了Play框架文件并将它们解压缩,并将play目录的路径赋给了$PATH全局变量。在此之后,当我在Ubuntu上运行命令play help时,它会给我以下错误:/usr/bin/env: sh: No such file or directory 有什么线索...

65得票1回答
Bash脚本中set -o pipefail的含义是什么?

在shell脚本开头加上set -o pipefail是什么意思?