小编Jus*_*wis的帖子

bash:将整个命令(带参数)传递给函数

我本质上是试图实现一个函数,它断言另一个命令的失败(非零退出代码),并在失败时打印一条消息.

这是我的功能:

function assert_fail () {
    COMMAND=$@
    if [ `$COMMAND; echo $?` -ne 0 ]; then 
        echo "$COMMAND failed as expected."
    else
        echo "$COMMAND didn't fail"
    fi
}

# This works as expected
assert_fail rm nonexistent

# This works too
assert_fail rm nonexistent nonexistent2

# This one doesn't work
assert_fail rm -f nonexixtent
Run Code Online (Sandbox Code Playgroud)

只要我向命令添加选项,它就不起作用.以下是上述输出:

rm: cannot remove `nonexistent': No such file or directory
rm nonexistent failed as expected.
rm: cannot remove `nonexistent': No such file or directory
rm: cannot remove …
Run Code Online (Sandbox Code Playgroud)

bash scripting

6
推荐指数
2
解决办法
3408
查看次数

使用 angular-ui-router-title 和 angular-translate 本地化页面标题

我知道有很多方法可以使用 angular 创建静态和动态页面标题,但到目前为止我发现的最好方法是angular-ui-router-title

简而言之,它是这样工作的:

$stateProvider.state('a', {
    ...
    resolve: {
      $title: function () { return 'a title'; } 
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

并在视图中:

 <title ng-bind="$title"></title>
Run Code Online (Sandbox Code Playgroud)

现在我也想让本地化动态工作,使用angular-translate。当用户在我的应用程序中更改语言时,会在根范围内触发一个事件,我用它$translate.use()来更改正在使用的语言。

我想我只能这样做:

<title ng-bind-template="{{$title | translate}}"></title>
Run Code Online (Sandbox Code Playgroud)

解析的标题现在是一个翻译键,它可以工作,但它没有。有没有其他方法可以让这个翻译在运行时发生?

javascript angularjs angular-ui-router angular-translate

5
推荐指数
0
解决办法
849
查看次数

排除 Gradle tar/zip 工件内的基本目录

maven程序集插件有一个includeBaseDirectory选项(当设置为 false 时)可以避免在 tar/zip 工件内出现与工件本身同名的单个顶级目录。

我想用 Gradle 达到相同的结果,但我不知道如何实现。我正在使用这样的配置:

task distTar(type: Tar) {
    compression Compression.GZIP
    extension "tar.gz"
}
Run Code Online (Sandbox Code Playgroud)

我没有看到任何满足我要求的Tar 任务选项。如何使用 Gradle 排除存档中的基本目录?

tar gradle

3
推荐指数
1
解决办法
2359
查看次数