我有一个关于Linux上shell脚本的问题。我试着做这个:
$ sh << EOF
#!/bin/sh
function test {
echo test
echo test2
}
test
EOF
结果是:
test
test2
但是,如果我想运行带有参数的脚本,而不将它保存到文件中呢?
$ sh $1 test1 test2 << EOF
#!/bin/sh
function test {
echo $2
echo $3
}
test
EOF
我该怎么做?
我已经在我的Ubuntu系统上安装了GitHub self-hosted runner。当我试图将它配置为服务时,会出现以下错误。
$ sudo ./svc.sh start
Failed to start actions.runner._services.Linux-Host01.service: Unit actions.runner._services.Linux-Host01.service is not loaded properly: Exec format error.
See system logs and 'systemctl status actions.runne
我已经写了一个脚本,它将在AmazonLinux2.0上默默地安装Microstrategy
在我的主脚本中,我调用Microstrategy安装脚本,它在/bin/ksh中,我的在/bin/bash中。
mstr_install.sh如下:
#!/bin/bash
#DATE 22-FEB-2019
#DISCRIPTION: IT will Install MSTR-11.1 with Silent Options using optins.txt file
DATE=$(date +"%Y-%m-%d_%T")
PATH="/app/soft/Installati
我从Linux服务器(CentOS)中删除了几个Tomcat安装。在安装Tomcat 8之后,现在当我尝试启动Tomcat 8 (./startup.sh)时,会出现以下错误:
Cannot find /opt/apache-tomcat-7.0.56/bin/setclasspath.sh
This file is needed to run this program
似乎我还没有正确地删除以前安装的tomcat。我怎么才能让这个发挥作用。帮助。
更新
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/
我想使用make构建我的程序,然后通过bash脚本启动创建的可执行文件,但是bash找不到可执行文件,尽管它是创建的,我可以手动启动它。该问题仅存在于Gnome-terminal中的linux mint 19上。Edit:确切的错误消息是:"/path/to/my/executable:没有这样的文件或目录“ 我有一个跨平台的项目,我需要运行cmake,然后构建项目,最后启动创建的可执行文件。我有一个bash脚本来自动化这个过程: Edit:它是唯一引起问题的部分;) for TASK in $@; do
if [[ $TASK == "make" ]]; t
我想知道,一个bash文件怎么会包含负责netbeans IDE安装的Java代码呢?众所周知,netbeans IDE是基于Java的程序。这就是netbeans的情况:
$ file netbeans-6.8-ml-java-linux.sh
netbeans-6.8-ml-java-linux.sh: POSIX shell script text executable
$ more netbeans-6.8-ml-java-linux.sh
#!/bin/sh
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
所以我发现在linux中做这件事真的很糟糕:
# a.sh
while true
do
some stuff
sh a.sh
done
我希望能够更新脚本,并让它自己修复。像这样的东西被认为是安全的吗?
# a.sh
while true
do
wget http://127.0.0.1/b.sh
sh b.sh
done
# b.sh
some stuff
这样我就可以更新脚本b.sh,并且由于a.sh调用它,它的下一次执行将被强制更新?
当命令被指定为CMD a b c时,一切都按预期的方式工作,同时使用CMD ["a", "b", "c"]指定相同的命令--它会产生意想不到的结果。我想在码头里运行朱庇特(ipython)。我的CMD命令是启动它。似乎不管我怎么说--木星开始了。但是,只有当我将它指定为CMD a b c时,jupyter才能正常工作,并且可以启动内核。在本例中,“Notebook”命令工作
FROM debian:stable
RUN apt-get update && apt-get install -y wget bzip2
在启用Debian测试和SecureBoot之后:
我需要对VirtualBox模块进行签名,正如vboxconfig命令的输出所述:
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: You must sign these kernel modules before using VirtualBox:
vboxdrv vboxnetflt vboxnetadp
See the documenatation for your Linux distri