相关这个帖子的答案
如果输入为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
我怎样才能做到这一点?
答案1
看来您想要做的是.py
为每个参数添加一个后缀,除非已经存在后缀。
您可以对简单变量执行此操作,如本示例代码所示
for item in A A.py
do
dest=${item%.py}.py
echo "Demonstrating that '$item' becomes '$dest'"
done
在这里,我们使用变量替换来删除尾随.py
(如果需要删除),然后总是.py
再次添加回来。语句内的单引号echo
不是必需的。