関連この投稿への回答
入力がある場合、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
必要ありません。