2014-02-07 24 views
0

我想通过命令行执行的操作是使用新连接的HDD并将其设备位置(例如, sda,sdb,sdc等放入我可以使用的变量中。 我试过了:将HDD位置eg.sda放入变量中的脚本

tail -f/var/log/messages | grep GB/

其中包含具有设备位置的“GB /”行。

但我不能操纵使用“sed”或任何等效的线,因为我不知道如何退出上面的命令,一旦它找到了最新的相关信息,我也不能将这些信息放到某个位置操纵它。

我已经尝试>和>>输出到一个文件,但没有工作,也试图把上面的代码放在括号和重定向,哪些也没有工作。

回答

0

目前尚不清楚您何时会这样做,就好像刚刚“知道”新硬盘已连接一样。

你可以做的是捕捉“ls -1d/sys/block/sd *”的输出,然后再对它们进行比较,然后再对比它们,这会给出添加的设备。

+0

基本上这个脚本会涉及将东西到硬盘上。我想要发生的事情是脚本要求用户放入硬盘,然后暂停,直到硬盘插入并将设备名称保存到脚本其余部分要使用的变量中。 – user3282398

+0

也谢谢,也有工作,以及 – user3282398

0

此工程在我的机器上,

$ HDD=$(dmesg | grep blocks | cut -f3 -d\[ | cut -f1 -d\] | tail -n1) 
$ echo $HDD 
sdk 
+0

谢谢,并没有工作,但它是:HDD = $(dmesg | grep块|剪-f2 -d \ [|剪-f1 -d \] |尾-n1) – user3282398