如果我将cat命令保存到字符串中,然后执行它,那么我将得到一个错误。
linux# cmd="cat /data/test/test.tx* | grep toto"
linux# eval '$cmd'
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
即使是
linux# $cmd
cat: |: No such file or directory
cat: grep: No such file
我正试图在我的mongodb docker容器中执行一个命令。在我的linux命令提示符下,这非常简单,并且在我这样做的时候也能正常工作
docker exec -it d886e775dfad mongo --eval 'rs.isMaster()'
上面的代码告诉我转到一个容器并执行以下命令
"mongo --eval 'rs.isMaster()' - This tells mongo to take rs.isMaster() as an input and execute it. This works and gives me the outp
我有var.sh
name="John"
age="29"
我还有main.sh
eval "var.sh"
echo "My name is $name"
当我跑的时候,我一直在
⚡️ Desktop bash main.sh
main.sh: line 1: var.sh: command not found
My name is
将本地bash文件导入另一个bash文件的最佳实践是什么?
有办法在Mac、Linux和Windows上工作吗?
我已经编写了shell脚本,它从输入文件中读取命令并执行命令。我有这样的命令:
cat linux_unit_test_commands | grep "dmesg"
在输入文件中。在执行shell脚本时,我收到下面的错误消息:
cat: |: No such file or directory
cat: grep: No such file or directory
cat: "dmesg": No such file or directory
剧本:
#!/bin/bash
while read line
do
output=`$line
我需要一行if语句
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then do-something &; fi
我想把任务do-something放到do-something &的后台,但是bash抱怨
bash: syntax error near unexpected token `;'
然后我试图用&和\&逃离
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then do-something \&; fi
但这似
警告:这个问题不是关于git的使用,而是关于Linux中管道的使用,这里给出了git命令的例子。
有这样的git push输出
fatal: The current branch my_branch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin my_branch
我想执行给定的命令,即git push --set-upstream origin my_branch。
通过执行git push 2&
我将在Ubuntu“服务器”上运行。首先,我尝试了默认安装。未定义$DOCKER_HOST。然后我把它设置为unix:///var/run/docker.sock
我一直有:
$ docker-compose up
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variabl
我的TCL脚本使用TCL变量组合了一个对命令行工具的调用。我尝试过在命令行中使用exec或eval,但都不起作用。
#!/usr/bin/tclsh
set dbg 0
set iso 100
set cmd "gphoto2 --set-config-value /main/imgsettings/iso=${iso}"
if {$dbg} {puts $cmd} else {eval $cmd}
提供:
invalid command name "gphoto2"
while executing
"gphoto2 --set-config-value
我试图将一些复杂的makefile规则组合在一起,以便在多个编译器上自动构建一个项目。我有一个规则,它创建一些动态生成的变量并将变量分配给它们,然后将这些变量传递给一个调用来构建一个单独的规则。
.PHONY: all
all:
@echo "Detected CPULIST:${CPULIST_DETECTED}"
@echo "CPULIST:${CPULIST}"
@for cpu in $(CPULIST_DETECTED); do \
echo "CPU:$${cpu}
我需要在bash配置文件中定义一个函数列表。它们都遵循相同的模式。我尝试使用变量作为函数名。
for f in a b c
do
function $f {
. mydir/$f;
}
done
我从linux和windows获得了以下错误:
-bash: `$f': not a valid identifier
-bash: `$f': not a valid identifier
-bash: `$f': not a valid identifier
还有别的办法吗?
我正在设置一个码头容器,以便成为Ocaml的一个简单环境,因为我不想在两台计算机上管理两个OPAM工具链。(Windows桌面,Linux膝上型电脑)我的目标是让容器加载到docker上的bash命令提示符中--编写运行并准备好运行ocaml,为此,我需要输入bash,然后在启动时运行val$(Opam)。这是我当前的停靠文件:
FROM ocaml/opam:alpine-3.12
# Create folder and assign owner
USER root
RUN mkdir /code
WORKDIR /code
RUN chown opam:opam /code
USER o
我有一个带有几个定义的python文件(至少称为pythonFile.py),所以我希望所有的定义都可以使用python解释器作为模块使用,也可以使用linux终端。例如:
def funct_1(arg1): #if arg1 is a string
return arg1
def funct_2(arg1, arg2): #if both arg1 and arg2 are integers
return arg1+arg2
def funct_3(arg1, arg2, arg3): #arg1 is str, arg2 is list, and arg3 is di
编写了一个简单的Shell脚本,如下所示:
#!/bin/sh
SHOWIT="echo \"a b c\""
GETIT="cut -f 3 -d' '"
echo "$SHOWIT|$GETIT"
eval "$SHOWIT|$GETIT"
$SHOWIT|$GETIT
表达式"$SHOWIT|$GETIT“通过eval工作,但在直接将其放入外壳命令时命中错误。
echo "a b c"|cut -f 3 -d' '
c
cut: ': No su