亲爱的专家们,我有一个小问题……我试图一次运行多个具有相同扩展名(.sh)的shell脚本,这些脚本存在于目录中。到目前为止,我编写了一个常见的脚本,如下所示。但问题是它没有跑完,而是不停地跑,我找不出问题的所在,我希望专家能研究一下。我的小代码如下。如果我做了像bash scriptone.sh, bash scriptkk.sh这样的事情,它可以正常工作,但我不希望手动方式来执行it.Thanks。
#!/bin/sh
for f in *.sh; do
bash "$f" -H
done
每当我需要限制shell命令的输出时,我都会使用less来对结果进行分页:
cat file_with_long_content | less
它可以很好地工作,但我很好奇的是,即使输出永远不会结束,less仍然可以工作,考虑在inf.sh文件中包含以下脚本:
while true; do date; done
然后我跑
sh inf.sh | less
而且它仍然能够再次对结果进行分页,所以说管道流式传输结果而不是等待命令完成后再输出结果是正确的吗?
当我编写一个shell脚本时,如下所示:
# demo.sh
somework &
然后运行它sh demo.sh.Use &将导致demo.sh退出,并使somework的parrent PID为1,init。
然后我退出我的终端,让会话结束,为什么某个工作没有接收到HUP,而作业却不能显示它。所以我想它已经不承认了。
我用ruby编写了一些代码来测试它:
# Fork an process then sleep it.
fork do
sleep
end
然后我用ruby demo.rb运行它。随着ps的显示,父进程现在是init了。
然后我离开我的终端。它还在跑。
我正在尝试创建一个bash脚本,并接受两个选项
bePort和fePort
因为这起作用了
while getopts ":a:b:" opt; do
case $opt in
a)
echo "-a was triggered!, Parameter: $OPTARG" >&2
;;
b)
echo "-b was triggered!, Parameter: $OPTARG" >&2
;;
\?)
echo "
我遵循了本页中的步骤:
http://nim-lang.org/download.html
跑时
cd csources && sh build.sh
我收到警告
~/projects/Nim$ cd csources && sh build.sh
warning: "./..." matched no packages
no packages to test
~/projects/Nim/csources$
为什么?
我写了一个简单的剧本
get-consent-to-continue.sh
echo Would you like to continue [y/n]?
read response
if [ "${response}" != 'y' ];
then
exit 1
fi
我已经将这个脚本添加到~/.bashrc中,作为一个alias
~/.bashrc
alias getConsentToContinue="source ~/.../get-consent-to-continue.sh"
我的目标是能够从另一个脚本调用这个
~/.../do
我填写A1和A2如下:
然后我跑:
Sub WhatIsGoingOn()
Dim r As Range, sh As Worksheet
Set r = Range(Cells(1, 1))
Set sh = Sheets(Cells(2, 1))
End Sub
我预计在这两种情况下,VBA都会使用单元格( Value)属性的默认属性来设置每个变量。但是,在最后一行代码中,我得到了一个运行时错误13!
为了避免错误,我必须使用:
Sub WhatIsGoingOn2()
Dim r As Range, sh As Worksheet
Set
返回语句错误:urn:只能从shell脚本 myscript.sh中的函数或源脚本返回
#!/bin/bash
if [ $# -ne 2 ]
then
echo "Incorrect Usage : Arguments mismatch."
return 2
fi
mv $1 $2
return 0
当我试着跑
sh myscript.sh
Incorrect Usage : Arguments mismatch.
myscript.sh.sh: line 5: return: can only `return' from a function o
我有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上工作吗?
我试图通过.sh语法运行一个./file.sh文件。我错误地认为有可能跑:
./usr/bin/foo/bar.sh
这只会产生"No such file or directory"。但是,如果我跑:
cd /usr/bin/foo && ./bar.sh
它工作得很完美。为什么第一种方法是不可能的?
(我用的是Lubuntu 14)
我一直收到这样的错误:syntax error near unexpected token 'done',但我不明白为什么。
我试着在dos2unix *.sh之后添加#!/bin/sh,但是这给了我一个错误,除了“完成”错误之外,没有这样的文件或目录。
这是一个.sh文件。我对写剧本很陌生。帮助?
我在跑
sh thisfile.sh program_input输入
在linux上
编辑我在变量周围添加了一些引语--相同的错误
#!/bin/sh
fst=$1
input=$2
while read line
do
result=$(cat "$line
当我跑的时候
mpirun -np 4 mpi_script.sh
我得到了错误
Open MPI tried to fork a new process via the "execve" system call but failed.
...
Error: Exec format error
尽管我可以使用./mpi_script.sh运行该脚本
我想作为一个进程运行一个脚本。所以在命令下跑,
setsid test.sh > test.log &
但给出错误如下,
setsid: failed to execute test.sh: No such file or directory
这里出什么问题了?我在当前位置有执行权限的test.sh文件。
我有包含以下内容的Dockerfile:
FROM alpine
COPY script.sh /script.sh
CMD ["./script.sh"]
和一个script.sh (具有可执行权限):
#!/bin/bash
echo "hello world from script file"
当我跑的时候
docker run --name testing fff0e5c81ca0
standard_init_linux.go:195: exec user process caused "no such file or directory&