echo - - - 在shell命令中是什么意思?

时间:2013-10-15 20:34:24

标签: linux shell

我有以下命令:

echo "- - -" | sudo tee /sys/.../scan

我如何解释这一命令?我在谷歌找不到任何东西,因为我的行中的人物。

谢谢!

3 个答案:

答案 0 :(得分:5)

echo "- - -"

在屏幕上打印三个短划线和两个空格

|

一个管道 - 获取左侧命令(echo)的输出并将其作为输入提供给右侧命令(sudo)。

sudo

运行具有root权限的指定命令

tee

指定的命令,它将以root用户身份运行。 Tee接受来自stdin的输入(通过管道输入回声输出),并将其分成两个输出:第一个进入屏幕,所以你看到终端上打印了- - -,并输出到指定的文件,在这种情况下为/sys/.../scan

由于您尚未提供/sys文件的完整路径,因此无法告知WHICH扫描,但一般来说,此命令可能会告诉操作系统重新扫描某些硬件总线以进行更改(添加/清除)。

答案 1 :(得分:0)

在这里查看第一个答案:

https://askubuntu.com/questions/192461/ubuntu-server-12-04-hotplug-sata-automount

从链接:On Linux, you can tell the system to rescan an individual SATA port.So to rescan the SATA3 port

答案 2 :(得分:0)

echo "- - -"只是将- - -输出到标准输出。 tee命令(其名称来自管道T管道)以两种方式分割输出:一次到它自己的标准输出,也到指定的文件。 sudo用作以root用户身份运行tee,以便能够在/sys中写入系统文件。

总结一下,echo "- - -" | sudo tee some_file将:

  1. 以root用户身份- - -写入some_file

  2. 将相同的输出重复到标准输出,大概是为了记录/调试目的。