小编Cor*_*han的帖子

使用sudo运行shell脚本时,用户路径不可用

我正在编写一个shell脚本来为我启动一些进程.因为这些进程需要sudo访问,所以我用sudo运行我的shell脚本.但是,当我这样做时,我无法访问我的路径变量.我在/etc/profile.d/extra-path.sh中添加了一个shell脚本,为我的用户添加了这些脚本.

有人能告诉我应该添加这些路径变量的方式,以便可以在使用sudo运行的shell脚本中访问它们,还是有办法在shell脚本本身中使用我的用户路径运行命令?

这是我想要工作的脚本:

#!/bin/bash
#start stuff up

nohup mongod 
#mongod fails as an unknown command, even though it's part of my path

nohup /cust/env/local/cust/jboss-5.1.0.GA/bin/run.sh -b 0.0.0.0 -Djava.awt.headless=true
#jboss needs access to the JAVA_HOME path variable which 
#doesn't exist on the path used in this shell script
Run Code Online (Sandbox Code Playgroud)

linux bash sh

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

处理车把对象中数组的最佳方法

我正在学习如何使用车把,但我不确定显示对象的最佳方法是什么。

基本上,我要显示一个复杂的对象。该对象是这样的:

{
  bookList: [{
    name: "the name",
    reviewers: ["a reviewer name", "another reviewer"]
  }]
}
Run Code Online (Sandbox Code Playgroud)

然后,我的车把模板需要显示如下内容:

{{#each bookList}}
<tr class="row">
<td class="cell">{{name}}</td>
<td class="cell">need to display comma separated names here, like this: "a reviewer name, another reviewer</td>
<td class="cell">display number of reviewers here, like this: "2"</td>
</tr>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

但是我不确定我该怎么做,或者最好的方法是什么。我可以轻松地在javascript对象中预先格式化javascript对象,然后再将其传递给handlebars模板,并仅添加“ commaSeparatedReviewers”和“ numberOfReviewers”之类的字段,但是使用handlebar似乎更高效/更好我觉得帮手吗?

我可以使用车把帮手来做一些事情,例如在数组之外创建一个用逗号分隔的字符串,并计算数组中的元素吗?如果是这样,我该怎么做?

javascript handlebars.js

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

如何配置@ typescript-eslint规则

我正在尝试转换为,@typescript-eslint但是文档似乎非常缺乏。例如,我收到这样的错误:

Line 58:  Expected a semicolon             @typescript-eslint/member-delimiter-style
Run Code Online (Sandbox Code Playgroud)

我不想强制使用分号或逗号。我找到了该规则的文档。https://github.com/bradzacher/eslint-plugin-typescript/blob/master/docs/rules/member-delimiter-style.md

但是它似乎没有提供任何有关如何在实际的eslint文件中进行配置的示例!有人知道吗?

typescript eslint typescript-eslint

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

不能在JPQL中按ORDER BY列

我试图通过JPQL查询声明中的字段进行排序,看起来它应该非常简单,但我不断收到编译器错误.

我正在尝试通过UserClockDate列进行排序,该列是UserTime行的一部分.但每次我尝试编译时都会收到错误:

严重:命名查询出错:fetchIfUserIsClockedInWithUser org.hibernate.QueryException:无法解析属性:UserClockDate of:models.UserTime [SELECT ut FROM models.UserTime ut WHERE USER_ID =:user ORDER BY ut.UserClockDate DESC]

如果我只是取出ORDER BY它编译好了.

这是班级本身的相关部分:

@NamedQueries({
        @NamedQuery(name = "fetchAllUserTimes", query = "SELECT ut FROM UserTime ut"),
        @NamedQuery(name = "fetchIfUserIsClockedInWithUser", query = "SELECT ut FROM UserTime ut WHERE USER_ID = :user ORDER BY ut.UserClockDate DESC") 
    })
@Entity
@Table(name = "userTime")
@Component
public class UserTime implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    @Column(name = "UserTimeId")
    private int userTimeId;

    @ManyToOne
    @JoinColumn(name = "USER_ID") …
Run Code Online (Sandbox Code Playgroud)

java jpa jpql

0
推荐指数
1
解决办法
464
查看次数

正则表达式的具体单词

我试图为"[起始单词] [特定单词] [结束单词]"编写正则表达式,并使其不区分大小写.但由于某种原因,它似乎没有用.

我在java中这样做,因此额外的"\".

例如,如果我想匹配"疯狂"这个词我的正则表达式将是:

/\\bcrazy\\b/i
Run Code Online (Sandbox Code Playgroud)

我调用正则表达式的java代码是:

textToMakeHarder = textToMakeHarder.replaceAll("/\\bcrazy\\b/i", "super crazy");
Run Code Online (Sandbox Code Playgroud)

java regex

0
推荐指数
1
解决办法
4831
查看次数

shell脚本移动文件不正确地连接字符串

我试图编写一个shell脚本来为我移动一些文件,但我错误地运行了所述脚本而没有仔细检查它首先使用的变量.

这是我写的剧本:

#!/bin/bash
# move the war files to jboss in one thing

JBOSS_DEPLOY="/cust/env/local/cust/jboss-5.1.0.GA/server/default/deploy/"

echo JBOSS_DEPLOY

TRADITIONAL="$JBOSS_DEPLOYmyProject.war"
NOSQL="$JBOSS_DEPLOYmyProjectNoSql.war"

echo $TRADITIONAL

mv myProject.war $TRADITIONAL
mv myProjectNoSql.war $NOSQL
Run Code Online (Sandbox Code Playgroud)

回声用于调试目的.似乎"$JBOSS_DEPLOYmyProject.war"变成了".war".我需要修复什么才能将这些字符串正确地连接成一个新变量?

我对文件的实际位置也有点好奇.显然他们会相互覆盖,但应该有一个名字在".war"哪里,对吧?它会在哪里?

编辑:我发现它放在哪里.我没有意识到"."会把它隐藏起来.现在我只需要知道如何正确连接没有空格的字符串!

bash shell sh

0
推荐指数
1
解决办法
221
查看次数

如何在spring boot gradle项目的.jar根目录中构建一个文件夹?

AWS弹性beanstalk需要.ebextensionsjar的根目录下的文件夹来配置弹性beanstalk,但我无法弄清楚如何将文件夹放到jar的根目录.

使用此gradle配置,我可以更改文件夹的位置:

compileKotlin {
    kotlinOptions {
        freeCompilerArgs = ["-Xjsr305=strict"]
        jvmTarget = "1.8"
    }

    processResources {
        from ('.ebextensions/') {
            into '.ebextensions'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会将文件夹.ebextensions从项目的根目录(而不是src/main/resources)移动到

my.jar
 -> BOOT-INF
    -> classes
       -> .ebextensions
Run Code Online (Sandbox Code Playgroud)

我希望我能做到,into '../../.ebextensions'但那不起作用.这不可能吗?我是否需要弄清楚如何手动解压缩jar,插入我的文件夹,然后重新打包或什么?

java gradle kotlin spring-boot

0
推荐指数
1
解决办法
214
查看次数