J'essaie d'attribuer une variable à un choix d'entrée rapide sans succès. Si l'utilisateur entre 1, je veux target_db_name = "database2". Mon code:Affectation d'une variable à une variable dans l'instruction if
while true; do
read -p "What is the table name?" table_name
table_name=${table_name,,}
if hdfs dfs -test -e /foo/$table_name ;
then read -p "What is the target database you want to copy the
“foo.${table_name}” table to?
Your three options are:
1) database1
2) database2
3) database3
Type 1, 2, or 3: " target_db;
(((Here is where I want to state if $target_db = "1" then target_db_name
= "database1", if $target_db = "2" then target_db_name = "database2" etc...)))
read -p "Would you like to begin the HDFS copy with the following configuration:
Target Database: ${target_db_name}
Table Name: ${table_name}
Continue (Y/N):"
else echo "Please provide a valid table name.
Exiting this script" ; exit ; fi
done
J'ai essayé de créer une autre instruction if sans chance.
"....Type 1, 2, or 3: " target_db;
else if $target_db = "1" then target_db_name = "edw_qa_history"; fi
S'il vous plaît montrer ce que vous avez essayé, afin que nous puissions vous expliquer ce que vous avez fait de mal. – Barmar
Rappelez-vous que les assignations de variables dans 'bash' n'ont pas d'espace autour de' = '. – Barmar
Et vous devriez probablement utiliser 'case' plutôt que' if'. – Barmar