因此,我发现我可以通过管道传输以下两个命令:
sudo wget https://example.com/folder.tar.gz
sudo tar xzvf folder.tar.gz就像这样:
sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf -因此,现在我想知道我如何也可以cd到这个文件夹。
我猜到:
sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf - | cd
# and
sudo wget -q http://example.com/folder.tar.gz -O - | tar xzvf - | cd -但这两个人不起作用。我很确定我不太懂管道。
发布于 2021-09-05 23:15:45
管道连接一个程序的输出到另一个程序的输入--就像一个管道如何将你的花园龙头(水龙头)的输出发送到你的草坪洒水器。
减号(-)是输入或输出的快捷方式,它的意思是取决于位置/上下文。
您的wget命令从web获取一些数据,并且由于-,通过管道将其发送到tar。
tar命令读取管道中的数据,因为它的-,并创建一些文件和目录。
tar命令不会再通过管道发送任何内容,因此cd不会读取任何内容。您也不知道要转到的目录的名称。如果你这样做了,你可以去那里做一个后续行动,像这样:
wget ... - | tar ... - ; cd SOMEWHERE或者,您可以以tar命令成功运行为条件,以便:
wget ... - | tar ... - && cd SOMEWHEREhttps://stackoverflow.com/questions/69067615
复制相似问题