這是bash腳本。
Counter.sh:
使用AWK更改位於腳本中的變量
#!/bin/bash
rm -rf home/pi/temp.mp3
cd /home/pi/
now=$(date +"%d-%b-%Y")
count="countshift1.sh"
mkdir $(date '+%d-%b-%Y')
在這個腳本中,計數變量的5排...我只是想知道如何使用AWK來改變整數1(18字,感謝響應)轉換爲3,然後保存Counter.sh文件。
這是bash腳本。
Counter.sh:
使用AWK更改位於腳本中的變量
#!/bin/bash
rm -rf home/pi/temp.mp3
cd /home/pi/
now=$(date +"%d-%b-%Y")
count="countshift1.sh"
mkdir $(date '+%d-%b-%Y')
在這個腳本中,計數變量的5排...我只是想知道如何使用AWK來改變整數1(18字,感謝響應)轉換爲3,然後保存Counter.sh文件。
這基本上是http://mywiki.wooledge.org/BashFAQ/050 - 假設你的腳本實際上不會與$count
一些地方再往下,你應該重構,爲避免這種反模式。有關此主題的更多信息,請參閱鏈接的常見問題。
話雖如此,在不改變實時代碼的情況下做這些並不難。考慮在cron
工作像
awk 'END { print 5 }' /dev/null > file
或類似的(用awk只是因爲你的問題問的是,並不是因爲它是最好的工具,這項工作),然後在你的主腳本,使用該文件;
read index <file
count="countshift$index.sh"
雖然這表面上消除了動態更改腳本(這是一個巨大的勝利),你還有另一個討厭的問題(代碼在一個變量!)的要求,你應該找到一個更好的辦法解決這個問題。
恕我直言,你的描述你的目標還不清楚。如果包含'counthift.sh'處理的數據樣本以及該輸入的預期輸出,那麼這將完全** un **含糊不清。考慮編輯你的Q來包含這些定義。另外,我猜你想'count = $(countshift1.sh)'這是命令替換,並且允許將從'countshift1.sh'返回的任何輸出賦值給變量'count'。祝你好運。 – shellter
這是一個可怕的想法。腳本中的代碼應該是靜態的。不過,您可以從外部文件讀取值。 – tripleee
對於記錄,現在也請參閱http://stackoverflow.com/questions/38044884/time-variables-in-bash-scripting – tripleee