如何从文本文件变量变为Bash变量

问题描述:

简单问题,在BASH中我试图读取一个.pid文件来杀死一个进程。我如何将该文件读入一个变量。我发现的所有例子都试图用多行阅读。我只是想读一个文件,该文件只包含PID如何从文本文件变量变为Bash变量

#!/bin/sh 
PIDFile="/var/run/app_to_kill.pid" 
CurPID=(<$PIDFile) 

kill -9 $CurPID 

就快:

CurPID=$(<"$PIDFile") 

在你给的例子,你甚至不需要临时变量。只要做到:

kill -9 $(<"$PIDFile") 
+0

欢迎堆栈溢出。请记住通过按[复选标记](http://i.imgur.com/uqJeW.png)接受最能解决您问题的答案。当你看到好的问答时,使用[灰色三角形](http://i.imgur.com/kygEP.png)进行投票。新年快乐!! – 2011-12-30 22:39:37

+0

@JaypalSingh @JaypalSingh如果您要回复评论,并且该人不是撰写答案的人,那么您需要在开头加前缀他们的名字,就像我对您做过的那样。否则没有它,写回答(我)的人得到通知=) – SiegeX 2011-12-31 01:25:22

+0

哎呀抱歉关于@SiegeX。 – 2011-12-31 01:31:07

POSIX可移植的方式:

$ read pid <$pidfile 

参见:pid=`cat $pidfile` or read pid <$pidfile?