Bash將
將 A B.py C D.py
轉換為 A.py B.py C.py D.py
從 shell 腳本中的文件副檔名檢測
與此執行緒答案
相關, 如果輸入為A B.py C D.py
,則輸出變為A.py B.py C.py D.py
我想在下面給出的另一個腳本中實現此功能:
#!/bin/bash echo -n "Round Name:" read round mkdir $round read -r -p "Enter the filenames:" -a arr for filenames in "${arr[@]}"; do cp ~/Documents/Library/Template.py $round/$filenames done
我怎樣才能做到這一點?
看來您想要做的是為
.py
每個參數添加一個後綴,除非已經存在一個。您可以對一個簡單的變數執行此操作,如本範常式式碼中所示
for item in A A.py do dest=${item%.py}.py echo "Demonstrating that '$item' becomes '$dest'" done
在這裡,我們使用變數替換來刪除尾隨
.py
(如果有要刪除的話),然後總是.py
重新添加。語句中的單引號echo
不是必需的。