-1

我想构建一个脚本来从命令中的文件中提取单词:

例如:在我的文件中,我保留了我的用户名,我如何在不知道用户名的情况下导出用户名作为我的命令的一部分,我的命令是:这里的暂停应该是导出的词?

从我在“JOHN”中包含文本的文件中,我如何告诉命令:暂停用户名是 JOHN?

作为命令的一部分,我如何 cat/grep/sed 文件中的文本:

像挂起 |cat 文件,我尝试过,但是挂起命令不使用用户名,所以应该有一些不同的东西。

我的想法像这样

#!/bin/sh
username=cat my-file;

suspend $username ,

但我没有成功,因为我的 $username 没有从 cat 中显示,cat 显示了它,但这就是所做的一切。

4

2 回答 2

1

使用以下语法

  username=$(cat my-file)

您也可以使用反引号,例如

  username=`cat my-file`

但是$(...)表示法更可取:它可以嵌套并且更具可读性。

请阅读Advanced Bash Scripting Guide(它会教你很多东西,即使它可以被批评)

你的用法suspend不正确,我不明白你想用它做什么。暂停用户对您意味着什么?也许您想使用pgreppkill(杀死该用户的所有进程,我觉得这太苛刻了)...?

于 2013-07-18T05:13:06.187 回答
0

令人震惊的是,读取一行的命令名为“read”:

$ cat file
John
$ IFS= read -r username < file
$ echo "$username"
John

“cat”是连接文件的命令。

设置IFS=和使用-rarg 进行读取是为了使 read 按原样处理前导空格和/或反斜杠,而不是解释它们。如果您知道您的文件永远不能包含这些,或者您想读取以去除前导空格和/或解释反斜杠,那么您就可以摆脱这些。

于 2013-07-18T13:04:15.043 回答