.javaがまだ文字列にない場合は、文字列に追加したいと思います。構造体を使用してこれをどのように実行できますかif
?私が試したことは次のとおりです。
6 echo geef eens je naam van je java programma?
7
8 read naam
9 firstletter=${naam:0:1}
10
11 naamm="${naam^}"
12 echo $naamm
13
14 add=".java"
15
16 if [ ${naamm:(-5)} != ".java" ]
17 then
18 naamm=$naamm$add
19 echo $naamm
20 else
21 #nothing
22 fi
答え1
さまざまな可能性:
if ! [[ $naamm =~ \.java$ ]]
または
name="${name%.java}.java"
または
if [ "${name: -5}" = '.java' ]
その他の質問
内容は次のようにファイルに書き込むことができます。
echo "public class $naamm {
public main..." >file
より大きなコンテンツの場合、このアプローチは簡単です。
cat <<\EOT >file
public class $naamm {
public main...
EOT
答え2
これを使用して、grep
文字列にパターンがあるかどうかをテストし、パターンを追加または渡すことができます。
#!/bin/bash
vars=(String.obj String.java)
for v in "${vars[@]}"; do
if ! echo "${v}" | grep -q "\.java$"; then
appended="${v}.java"
echo "${appended}"
fi
done