的Unix - >连接文件名+变量内容并搜索它

时间:2015-02-18 09:56:09

标签: shell unix

我是shell脚本的新手...我正在尝试删除一个以前一个PID命名的文件,但我不知道热连接旧的PId到文件名:( 这是我的代码

...

cp ./template_dos ./user_dos.new
diff ./user_dos.new ./user_dos
if [[ $? -ne 0 ]] ; then
  if [[ -f user_dos.PID ]] ; then  #Here I search for the OLD PID->2145
  rm user_dos.PID #I would like to remove the user_dos.2145 (value old PID) I fail as i searchs for the word PID...and I want the content!
  fi
  mv user_dos  user_dos.$$ 
  mv user_dos.new user_dos
  echo $$ > PID
fi

2 个答案:

答案 0 :(得分:1)

您可以从文件中提取PID

if [[ $? -ne 0 ]] ; then
  if [[ -f user_dos\.$(cat PID 2>/dev/null) ]] ; then  
  rm user_dos\.$(cat PID 2>/dev/null)
  mv user_dos  user_dos.$$ 
  mv user_dos.new user_dos
  echo $$ > PID
fi

答案 1 :(得分:0)

我做过并且工作过

if [[ $? -ne 0 ]] ; then
  if [[ -f PID ]] ; then
    MYPID=`cat PID`
  fi
  if [[ -f user_dos.$MYPID ]] ; then
    rm user_dos.$MYPID
  fi
  mv user_dos  user_dos.$$
  mv user_dos.new user_dos
  echo $$ > PID
fi