[英]Another Bash permission denied post
我花了過去一個小時的時間,試圖在問之前找到解決方法,但無濟於事,所以我問。 我正在嘗試制作一個簡單的腳本,該腳本將使用文件名,然后為我生成一個通用的空白html模板。
#!/bin/bash
blank=/home/sithyrys/Documents/scripts/blank.html
echo "Enter file name with no extensions:"
read fileName
fileName+=.html
echo $fileName
touch $fileName
$blank >> $fileName
當我注釋掉路徑時,代碼運行時沒有錯誤消息,但是它沒有拉出模板,因此會顯示空白頁。 有問題的錯誤消息是:
./basicHTMLTemplate.sh: line 9: /home/sithyrys/Documents/scripts/blank.html: Permission denied
編輯:shebang行復制了已經正確的錯誤
>>
不復制文件; 它將命令之前的命令輸出附加到其后的文件中。 您需要使用cat
命令將blank.html
的內容實際“推送”到新文件中。
cat "$blank" >> "$fileName"
按照編寫的方式,您的代碼可以容納$fileName
已經存在並附加$blank
內容而不覆蓋現有文件的可能性。 實際上,將模板附加到現有文件的末尾沒有多大意義,因此您可能只想復制模板。
#!/bin/bash
blank=/home/sithyrys/Documents/scripts/blank.html
echo "Enter file name with no extensions:"
read fileName
fileName+=.html
echo $fileName
cp "$blank" "$fileName"
(或者,為了防止覆蓋現有文件,
[[ -f "$fileName" ]] || cp "$blank" "$fileName"
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.