Tag: bash

使用命令行redirect进程启动后的STDERR / STDOUT?

在shell中你可以做redirect, > <等等,但是在程序启动后怎么样? 这是我来问这个问题,在我的terminal后台运行一个程序不断输出恼人的文字。 这是一个重要的过程,所以我必须打开另一个shell来避免文本。 我希望能够>/dev/null或其他redirect,所以我可以继续在同一个shell中工作。

如何将一个heredoc值分配给Bash中的variables?

我有这个多行string(包括引号): abc'asdf" $(dont-execute-this) foo"bar"'' 我如何将它分配给variables在Bash中使用heredoc? 我需要保留换行符。 我不想逃避string中的字符,这将是烦人的…

如何从另一个shell脚本调用shell脚本?

我有两个shell脚本, b.sh和b.sh 如何从shell脚本b.sh调用b.sh ?

简单的逻辑运算符在Bash中

我有几个variables,我想检查下面的条件(写出来的话,然后我在bash脚本失败尝试): if varA EQUALS 1 AND ( varB EQUALS "t1" OR varB EQUALS "t2" ) then do something done. 在我失败的尝试中,我想出了: if (($varA == 1)) && ( (($varB == "t1")) || (($varC == "t2")) ); then scale=0.05 fi

什么是首选Bash shebang?

有没有什么Bash shebang在客观上比其他用途更好? #!/usr/bin/env bash #!/bin/bash #!/bin/sh #!/bin/sh – 等等 我隐约记得很久以前听说,加一个破折号来防止有人把命令传给你的脚本,但是找不到任何细节。

在Bash回声换行打印文字\ n

在Bash中,试过这个: echo -e "hello\nworld" 但它不打印换行符,只是\n 。 我怎样才能打印换行符? 我使用Ubuntu 11.04。

terminal启动时出现错误信息

每次启动terminal时都会收到此错误消息: -bash: =/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin: No such file or directory

Python子输出到subprocess中的控制台scricpt

在我的父母脚本中,我执行以下操作: fout=open(outfile,"w") ferr = open(errfile,"w") subprocess.call("1.py",stdout=fout,stderr=ferr,shell=True) 在1.py脚本中,我希望大部分日志消息都转到日志文件,但是有一些消息,我想根据打印条件在控制台上打印: print "Hello World" 但它打印outfile,我想要在控制台上打印,我试着做 sys.__stdout__.write("Hello World"); 但是这也行不通。 任何帮助将不胜感激!

与bash中的variables浮点比较

我想比较一个浮点variables到一个整数。 我知道这不是最好的与bash,但我的整个脚本已经写在bash中。 $数字可以是任何整数。 如果它低于或等于50,我想输出1,对于所有其他我想用另一个variablesk输出。 这是我迄今为止: number=43 test=$(echo "scale=2; $number/50" | bc -l) echo "$test" for k in {1..5} do if ["$test" -le 1] then echo "output" elif ["$test" -gt $k] then echo "output$k" fi done 如果我尝试testing= 0.43,第一个循环甚至不工作。 我认为它必须做一个整数和浮点比较,但不能使其工作。 我错过了什么? PS:这个[0.43: command not found是terminal输出的。

在Bash中的文本文件中创build一个数组

脚本获取一个URL,parsing它所需的字段,并将其输出redirect到保存在file.txt文件中。 每次find字段时,输出将保存在新行中。 file.txt的 A Cat A Dog A Mouse etc… 我想采取file.txt并从一个新的脚本中创build一个数组,其中每一行成为自己的stringvariables在数组中。 到目前为止我已经尝试过: #!/bin/bash filename=file.txt declare -a myArray myArray=(`cat "$filename"`) for (( i = 0 ; i < 9 ; i++)) do echo "Element [$i]: ${myArray[$i]}" done 当我运行这个脚本时,空格会导致单词被分割,而不是被获取 期望的输出 Element [0]: A Cat Element [1]: A Dog etc… 我最终得到这个: 实际产出 Element [0]: A Element [1]: Cat […]