288得票13回答
如何在不使用"sh"或"bash"命令的情况下运行shell脚本?

我有一个shell脚本,想要在不使用"sh"或"bash"命令的情况下运行它。例如: 不是: sh script.sh 而是: script.sh 我该怎么做? P.S. (i) 我不经常使用shell脚本,我尝试阅读别名的内容,但我不知道如何使用它们。 (ii) 我也阅读了关于将脚...

281得票6回答
如何在脚本内部重定向整个脚本的输出?

在Bourne shell脚本中,是否可以将所有输出重定向至某个位置,但保留脚本内部的shell命令? 重定向单个命令的输出很容易,但我想要更像这样的东西: #!/bin/sh if [ ! -t 0 ]; then # redirect all of my output to a...

279得票8回答
在 while 循环中修改的变量不会被记住

在下面的程序中,如果我在第一个`if`语句内将变量$foo设置为值1,那么它的值会被记住并保留在`if`语句之后。然而,当我在一个`while`语句内的`if`内将同一变量设置为值2时,它会在`while`循环后被遗忘。它的行为就像我在`while`循环内使用了某种变量$foo的副本,并且我只...

274得票16回答
如何在shell脚本中删除文件名的扩展名?

以下代码有什么问题?name='$filename | cut -f1 -d'.'' 目前我得到的是字面字符串$filename | cut -f1 -d'.',但如果我去掉引号就什么都得不到了。同时,输入"test.exe" | cut -f1 -d'.' 在shell中可以得到我想要的输出...

267得票3回答
在bash heredoc中使用变量

我试图在Bash的heredoc中插值变量:var=$1 sudo tee "/path/to/outfile" > /dev/null << "EOF" Some text that contains my $var EOF 这不如我期望的那样工作($var 被当做字面量处...

265得票7回答
使用sh shell比较字符串

我正在使用SH shell,尝试将一个字符串与一个变量的值进行比较,但if条件始终为真。为什么会这样? 以下是一些代码:Sourcesystem="ABC" if [ "$Sourcesystem" -eq 'XYZ' ]; then echo "Sourcesystem Mat...

259得票5回答
使用xargs调用shell函数

我正在尝试使用xargs并行调用一个更复杂的函数。#!/bin/bash echo_var(){ echo $1 return 0 } seq -f "n%04g" 1 100 |xargs -n 1 -P 10 -i echo_var {} exit 0 这会返回错误信息x...

253得票6回答
如何限制 grep 返回的结果数量?

我希望从grep命令中最多输出10行结果。 我不想让我的计算机过度运转,我想要它在grep找到10个结果后停止。这种操作是否可行?

250得票4回答
将命令输出导入到tee中,但也保存命令的退出代码

我有一个 shell 脚本,其中我封装了一个命令 (mvn clean install),将输出重定向到一个日志文件。#!/bin/bash ... mvn clean install $@ | tee $logfile echo $? # Does not show the return c...

249得票12回答
Git别名 - 多个命令和参数

我试图创建一个别名(alias),该别名需要同时使用多个Git命令和位置参数。有关每个部分的Stackoverflow页面,看起来很明显可以同时完成两者,但是我遇到了一些问题。 例如,我想切换到foo分支并执行状态(status)。因此,在我的.gitconfig中,我有: [alias]...