![](/img/trans.png)
[英]Creating files from a Python script within a shell script within a shell script
[英]Creating init script from shell script
我試圖從shell腳本創建一個init腳本。 但問題是生成的init腳本不攜帶與shell腳本中的“$”符號關聯的變量。
例如。 shell腳本中的以下函數被轉換為
setup_sysd () {
cat << EOF > /etc/init.d/example
#!/bin/sh
. /etc/rc.d/init.d/functions
start() {
echo -n "Starting ${DESC}: "
cd ${WORK_DIRECTORY}
$EXAMPLE
RETVAL=$?
[ $RETVAL -eq 0 ] && touch -- "$LOCK"
return $RETVAL
}
exit $RETVAL
EOF
被復制為,
start() {
echo -n "Starting : "
cd
RETVAL=0
[ -eq 0 ] && touch -- ""
return
}
在here-doc delimiter'EOF 'EOF'
周圍使用單引號以避免進程擴展
cat << 'EOF' > /etc/init.d/example
...
EOF
但是生成的sh腳本仍然存在引用問題:
cd ${WORK_DIRECTORY}
應該
cd "${WORK_DIRECTORY}"
如何定義變量DESC,LOCK,最后變量應該是小寫的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.