我想知道是否可以将文件的输出作为下一个命令。
例子:
代替:
myUserName 09:52:52
~ cat info.txt
ssh [email protected]
我在找:
myUserName 09:52:53
~ cat info.txt
~ ssh [email protected]
我希望这是有道理的。
附言:我是 Bash 新手,所以不要求解决问题或类似的东西。只是出于好奇想知道。
谢谢!
答案1
可以使用以下命令执行文本文件中的命令sh
。例如:
sh info.txt
效果略有不同的其他一些替代形式是:
. info.txt
或者
source info.txt
请注意,文本文件(info.txt
在您的示例中)称为脚本文件 和全部该文件的内容将由命令执行sh
。换句话说,文本文件可能包含多个命令(通常每行一个),并且所有这些命令都将被执行依次。
脚本文件可能包含额外的控制流命令(条件,循环,子程序调用等),这些命令将由shell 解释器。要找出当前使用的 shell 解释器,请使用命令ps
。在标题后面的行末,您将看到 shell 解释器,通常是bash
或sh
。
欲了解更多信息,你可以谷歌搜索“bash 编程“ 或者 ”shell 编程“。
答案2
cat "info.txt" | ssh [email protected] "cat > file.remote.txt"
打开info.txt
并将其传送到 ssh 进程,服务器上将有一个 file.remote.txt。&& ./file.remote.txt
如果可执行,则添加将执行其内容。