我对Shell脚本非常陌生,但我已经将这个简单的Bash脚本组合在一起,它将接收用户帐户注册信息,我需要将其输出到稍后将使用的文本文件中。我尝试过各种方法,但似乎也无法奏效,如果能在这件事上提供任何帮助,我们将不胜感激。
这是我迄今所写的代码
#!/bin/bash
clear
echo "Welcome, This Is The Registration Form Associated With Option 1"
echo "--------------------------------------------"
echo "Please e
我正在编写一个bash脚本,默认情况下我希望将所有内容输出到日志文件中。但是,我也希望能够通过请求(例如参数)而不是日志文件将其输出到调用终端(所以我认为tee是不存在的)。有谁知道一个简单的方法来做这件事吗?
如果参数可以是自定义日志文件或对主叫终端的引用,那就更好了。
我是这样想的:(伪代码)
#!/bin/bash
if [ ! $1 ]; then
OUT="default.log"
else
OUT=$1
fi
#then do this to every call in the script
commands [param] [param] &g
我有一个shell脚本,它的输出是一个变量。我正在通过菜谱中的bash资源运行该shell脚本。我希望能够通过我的chef模板访问该变量。有没有办法做到这一点?
bash resource:
"My script which outputs a variable"
EOF
我想将这个变量输出到template资源。
我想测试我的bash脚本向stderr输出了一些消息。我试试看:
require 'rspec'
describe 'My behaviour' do
it 'should do something' do
expect { `echo "foo" 1>&2` }.to output.to_stderr
end
end
但似乎在测试期间没有输出到stderr。
我使用这段代码从Python调用C脚本:
subprocess.check_output(["./s_cg",str(10),str(bb)])
C脚本有代码:
int main(int argc, char *argv[])
{
int order;
int i,j;
order = atoi(argv[1]);
double* rhs = malloc(order * sizeof(double));
for (i = 0; i < order; i++) {
scanf("%lf", &rhs[i])
我正在创建一个运行脚本并将其输出到文件的函数。一旦发生这种情况,它将逐行读取该文件,执行一个停止。我想添加一个if条件,如果服务器无法启动它-9 $pid。这不管用。
function stop_server() {
su -s /bin/bash user /usr/local/server/bin/server list | sed "1,2 d" >>jvms
while IFS="" read -r p || [ -n "$p" ]
do
su -s /bin/bash user
如何在我自己的BASH脚本中模拟“打印到stdout”(如果输出文件未给出)的行为?
我想模仿unix实用程序sort的行为。
sort input
# prints to stdout
sort -o out input
# prints to file "out". does not print to stdout.
可悲的是,我想出的唯一办法是,在我的BASH脚本的末尾:
if [ ! -z "$OUT" ]; then
some | commands > $OUT
else
some | commands
我知道如何在Linux中重定向输出。问题是,我的bash脚本中有很多输出,我不想输入下面这样的内容
echo $foo >> bar
一遍又一遍。我更愿意做这样的事情:
hey, bash, for the time being put all your STDOUT in "bar"
echo $foo
.
.
OK, bash, you can go back to regular STDOUT now
我尝试将fd1作为文件打开:
exec 1>bar
但我做完后无法让STDOUT恢复正常。关闭文件
exec 1>&-
给了我一些我无法绕过