我在寫一個名爲「NewProject」的Bash,它創建了第二個名爲「compile」的Bash腳本。這兩個腳本都必須能夠將參數作爲輸入。我的問題是我不能在編譯腳本中寫入「$ 1」 - 這只是將NewProject的第一個參數的內容複製到編譯腳本中。這是創建編譯腳本的NewProject腳本的一部分。用變量創建bash腳本的bash腳本
echo "#!/bin/bash" > $1/compile
echo "
if [[ -z '$1' ]];
then
echo "You are missing file names. Type in: compile -o executable files."
exit 1
fi" >> $1/compile
chmod u+x $1/compile
這裏是從NewProject腳本的測試運行輸出。
#!/bin/bash
if [[ -z 'testproject4' ]];
then
echo You are missing file names. Type in: compile -o executable files.
exit 1
fi
我怎樣才能改變NewProject腳本所以,與其'testproject4'
,編譯腳本包含'$1'
?
$的「」被解釋的,在'它不。還要注意,你有內部的「在你的周圍」(「你缺少文件名......」位),這可能不是你想要的(在這種情況下它並不重要,因爲回聲會回顯所有由字符串分隔的參數無論如何) –