2015-10-14 43 views
0

我想讓啓動腳本在啓動時更改另一個腳本中的2行,或者可能不是另一個腳本,但要修改當前的腳本來執行相同的操作。 這裏是我用於ftp鏡像的當前腳本。讀取主機名並將其寫入另一個腳本,以specefic的位置?

用戶名必須是我的主機名,這種方式我不需要爲每個新設備修改此腳本,但只更改我的設備的主機名。 有人可以幫我實現嗎?

#!/bin/bash 
login="username" 
pass="pass.username" 
host="10.10.10.12" 

base_name="$(basename "$0")" 
lock_file="/home/mit/$base_name.lock" 
trap "rm -f $lock_file" SIGINT SIGTERM 
if [ -e "$lock_file" ] 
then 
    echo "$base_name is running already." 
    exit 
else 
    touch "$lock_file" 
    lftp -u $login,$pass $host << EOF 
    mirror --exclude-glob lost+found/ -n -e --use-cache /music/ /music/ 
    quit 
EOF 
    rm -f "$lock_file" 
    trap - SIGINT SIGTERM 
    exit 
fi 

回答

0

我找到了解決我的問題的方法。 這裏腳本,我想要的工作方式。

#!/bin/bash 
sitecode=`cat /etc/hostname`; 
login="${sitecode}" 
pass="pass.${sitecode}" 
host="10.10.10.12" 

base_name="$(basename "$0")" 
lock_file="/home/mit/$base_name.lock" 
trap "rm -f $lock_file" SIGINT SIGTERM 
if [ -e "$lock_file" ] 
then 
    echo "$base_name is running already." 
    exit 
else 
    touch "$lock_file" 
    lftp -u $login,$pass $host << EOF 
    mirror --exclude-glob lost+found/ -n -e --use-cache /music/ /music/ 
    quit 
EOF 
    rm -f "$lock_file" 
    trap - SIGINT SIGTERM 
    exit 
fi 
相關問題