Linux 尝试在一行中将多个命令追加到文件中(>;>;)
我试图找到一种方法来捕获在一行中背靠背运行的两个命令的标准输出 例如,如果我有一个名为“practice.txt”的空白文件: 我希望该文件现在包含:Linux 尝试在一行中将多个命令追加到文件中(>;>;),linux,ubuntu,append,command-line-interface,Linux,Ubuntu,Append,Command Line Interface,我试图找到一种方法来捕获在一行中背靠背运行的两个命令的标准输出 例如,如果我有一个名为“practice.txt”的空白文件: 我希望该文件现在包含: Hello World /home/sean 我不确定这是否已经是一个常见问题,但在快速搜索后,我找不到其他人问。如果您只想运行一次,请考虑子shell 。 (echo“Hello World”;pwd)>>practice.txt 如果希望多次运行集合(可能在shell的*rc文件中声明一些有用的内容),可以将这两个调用放入一个函数中 fn
Hello World
/home/sean
我不确定这是否已经是一个常见问题,但在快速搜索后,我找不到其他人问。如果您只想运行一次,请考虑子shell 。
(echo“Hello World”;pwd)>>practice.txt
如果希望多次运行集合(可能在shell的*rc
文件中声明一些有用的内容),可以将这两个调用放入一个函数中
fn(){
回声“你好,世界”
pwd
}
这也可以在一条线上完成
%fn(){echo“Hello World”;pwd}
%fn>>practice.txt
%cat practice.txt
你好,世界
/家/肖恩
我还使用脚本中的fn(){echo“Hello World”;pwd}fn>>日志/trial1.txt
得到了相同的错误。它从cli.hmmm开始工作-如果没有换行符,很难理解,但是在第三个示例中,%
指示一个shell提示符(在我的示例中是zsh)。然而,它可能是#/usr/bin/bash
不存在,正在退回到另一个shell(例如sh
)。。你有什么见解吗?我发现了问题。在bash脚本中,{}需要位于单独的行上。谢谢你的帮助。@pink_floyd668啊哈/对不起!它需要一个尾随的
结束语句:fn(){echo test;}
Hello World
/home/sean