2017-08-04 5 views
0

Je suis nouveau sur AIX et j'ai de la difficulté à comprendre les codes indiqués dans le script shell comme indiqué ci-dessous, j'ai quelques questions.Compréhension et clarification sur le fichier AIX et le fichier batch

if [ "$OutChlName" != "" ] ; then 
    echo START CHANNEL \($OutChlName\) 
fi 
  1. Pour la première ligne, qu'est-ce que le "" signifie, ce que cela signifie nul?
  2. \($OutChlName\) - existe-t-il un moyen de convertir cela en un format de fichier par lots.
  3. Est-il exact de dire que fi est l'étiquette de fin de if?

Merci.

+0

Les balises linux/aix et fenêtres/fichier-batch sont l'OMI contrdictory. Le? Bash? code signifie si la var n'est pas vide echo ... – LotPings

Répondre

0
  1. L'écho est uniquement requis lorsque la variable OutChkName est remplie.
    La chaîne est comparée à une chaîne vide. Lorsque vous avez lu man test, vous pouvez trouver l'alternative if [ -n "$OutChlName" ].
  2. echo avec guillemets Entre guillemets, vous n'avez pas besoin des barres obliques inverses.

    echo "START CHANNEL ($OutChlName)" Mon echo se comporte différents lorsque la variable OutChlName a des caractères spéciaux tels que des sauts de ligne ou *. Je pense que ma syntaxe est un léger bugfix, mais quand vous ne voulez pas changer le comportement original, vous pouvez utiliser
    echo "START CHANNEL ("$OutChlName")"
    L'utilisation de backslashes est également une syntaxe valide (format de lot).

    1. fi se termine if
      également esac extrémités case et done se termine do (Odd, il aurait dû être od).
+0

Oh je vois, cela a effacé mes doutes merci! :RÉ – Decim