iT邦幫忙

0

if ["$(hostname)" == "c1"]; then 錯誤

小弟寫了一段指令要識別本機是否為c1若是則執行mongodb指令,

echo "$(hostname)" 

回復c1

if ["$(hostname)" == "c1"]; then
     mongod -f /usr/local/mongodb/config/mongod-configsvr.conf
fi

回復-bash: [c1: command not found
為何兩個""包起來了linux並沒有把他當成String,那要怎將"$(hostname)"轉成String

發現也可以用py調用linux script ,py不愧是膠水語言

import  socket,os
hostName = socket.gethostname()
if hostName =="c1" :
     os.system("mongod -f /usr/local/mongodb/config/mongod-configsvr.conf")
r76021061 iT邦新手 4 級 ‧ 2018-09-14 11:51:07 檢舉
找到答案了但不知為何要這樣寫有大大知道嗎?

hostname=$(echo $(hostname))
if [[ $hostname == "c1" ]];then
mongod -f /usr/local/mongodb/config/mongod-configsvr.conf
fi
r76021061 iT邦新手 4 級 ‧ 2018-09-14 11:55:09 檢舉
好像有答案了,自行做紀錄
https://www.cnblogs.com/include/archive/2011/12/09/2307905.html
r76021061 iT邦新手 4 級 ‧ 2018-09-14 12:24:09 檢舉
1

1 個回答

0
froce
iT邦高手 1 級 ‧ 2018-09-14 11:53:01
最佳解答
if [ $HOSTNAME = "c1" ]; then mongod -f /usr/local/mongodb/config/mongod-configsvr.conf; fi
r76021061 iT邦新手 4 級 ‧ 2018-09-14 11:56:40 檢舉

大感謝

我要發表回答

立即登入回答