我正在编写一个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) 我正在学习如何使用车把,但我不确定显示对象的最佳方法是什么。
基本上,我要显示一个复杂的对象。该对象是这样的:
{
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似乎更高效/更好我觉得帮手吗?
我可以使用车把帮手来做一些事情,例如在数组之外创建一个用逗号分隔的字符串,并计算数组中的元素吗?如果是这样,我该怎么做?
我正在尝试转换为,@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文件中进行配置的示例!有人知道吗?
我试图通过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中这样做,因此额外的"\".
例如,如果我想匹配"疯狂"这个词我的正则表达式将是:
/\\bcrazy\\b/i
Run Code Online (Sandbox Code Playgroud)
我调用正则表达式的java代码是:
textToMakeHarder = textToMakeHarder.replaceAll("/\\bcrazy\\b/i", "super crazy");
Run Code Online (Sandbox Code Playgroud) 我试图编写一个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"哪里,对吧?它会在哪里?
编辑:我发现它放在哪里.我没有意识到"."会把它隐藏起来.现在我只需要知道如何正确连接没有空格的字符串!
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 ×3
bash ×2
sh ×2
eslint ×1
gradle ×1
javascript ×1
jpa ×1
jpql ×1
kotlin ×1
linux ×1
regex ×1
shell ×1
spring-boot ×1
typescript ×1