我在我的Linux中同时运行多个命令。
echo "Line of text 1" && echo "Line of text 2" && complexthing | xargs printf "complexspecifier"
我想将所有输出重定向到file1。我知道我可以在每个单独的命令之后添加>file1,但这似乎很大。我该怎么做?
我经常在Linux环境中使用输出重定向命令,例如,
echo mymodule set number 10 >/proc/aaaa/bbbb_cmd
我想省略echo .... >....并使用以下命令
mymodule set number 10
有人告诉我巴什可以做到,但我不知道怎么做?有人能给我举个例子吗?
在我的服务器上,我无法在使用popen时将错误重定向到文本文件。以下代码:
popen("echo 'this part works' &> /wwwroot/output.txt &","r");
popen("noCommandThatExist &>> /wwwroot/output.txt &","r");
在我的机器上有以下输出:
this part works
sh: noCommandThatExist: command not found
而是服务器
当使用:redir将命令的输出重定向到变量时,似乎所有的\n都被\r\n替换了。
例如,当运行时
redir => m
silent !echo -e "Hallo\nCiao"
redir END
put =m
然后用^M插入缓冲区末尾的新行,这表示回车(\r)字符。
但是,这似乎只在执行外部命令时发生。如果不使用shell提供的echo命令,而是使用Vim的内部echo命令,即,
redir => m
" Note the missing `!` in front of `echo`
silent echo "Hallo\nCiao"
r
我知道如何在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>&-
给了我一些我无法绕过
我有一个类似于下面的bash脚本
func() {
echo "func was called"
var="right"
}
var="wrong"
func
echo $var
var="wrong"
func | tee file
echo $var
由于func()将var设置为"right",因此我希望echo打印该字符串两次。但是,我注意到,如果通过管道重定向函数的输出(而不是使用>将其重定向到文件),则不会设置环境变量。在这种情况下,输出为
right
func was called
我不太明白下面的if-语句实际上做了什么,从条件输出可能是什么的意义上说:
if linux-command-1 | linux-command-2 | linux-command-3 > /dev/null
我的理解是:
Linux 1被执行,它的输出被管道传输到2作为输入.
Linux 2用LC1的输入执行,它的输出被管道传输到3中.
Linux 3使用LC2的输入执行,它的输出被重定向到/dev/null,基本上不会出现。
,但是实际的if语句呢?是什么让它变得真实或错误呢?
为了进一步说明,下面是一个实际命令的示例:
if ps ax | grep -v gr
我正在学习shell编程的基础知识,使用了一本叫做“开始Linux编程”(第4版)的书。我对这个脚本和一个until-clause感到困惑:
#!/bin/bash
until who | grep "$1" > /dev/null
do
sleep 60
done
# Now ring the bell and announce the unexpected user.
echo -e '\a'
echo "***** $1 has just logged in *****"
exit 0
我的问题是who | grep &
我刚刚开始学习PHP。我正在关注我会推荐给任何人的教程。无论如何,我正在使用XAMPP来测试我的脚本。我正在尝试编写一个bash脚本,它将启动XAMPP,如果火狐找到一个特定的字符串"XAMPP for Linux started.",它将启动XAMPP,然后打开firefox转到本地主机页面,该字符串已从终端重定向到文件xampp.log。我在搜索文件时遇到问题。我一直收到一个:
grep: for: No such file or directory
我知道这个文件存在,我想我的语法是错误的。这是我到目前为止所得到的:
loaded=$false
string="X
我希望将程序的输出重定向到具有变量名的文件,同时重定向可能出现的错误。到目前为止,这是一个脚本:
#!/bin/bash
echo "Se ejecutará el PET-linux.x con PET.inp como input, debe indicarse el nombre del archivo output."
echo "Nombre del archivo .out: "
read outfile
./PET-linux.x < PET.inp > ${outfile}.out 2> /dev/null
echo $?