On peut aussi communiquer avec Narcisse par scripts shell.
Comme par programme, les connections sont réalisées par sockets par le biais d'un exécutable appelé narcp qui a la syntaxe suivante :
narcp [-y] [-s adresse] nom_fichier.
Les crochets ([]) signifient que l'argument est facultatif.
adresse est une adresse socket au format de l'appel SpxOpen (voir la partie correspondante) dont l'une des formes est :
nom_machine+port_narcisse+sp...+nom_user@ie32
Si -s adresse n'est pas donné on utilise la variable d'environnement DEST_SP3 toujours comme pour SpxOpen. Si cette variable n'existe pas, l'adresse est générée automatiquement, comme pour SpxOpen, en supposant que le serveur Narcisse est lancé sur la même machine que narcp et que son propriétaire est le même que celui de narcp.
nom_fichier est un nom de fichier à envoyer (qui peut être le standard input) qui doit être à l'un des formats acceptés par Narcisse :
-binaire (spx),
-ascii (sp3),
-ucd d'AVS (inp),
-l3 (l3).
-y est un flag qui doit être mis si on a demandé une synchronisation dans le fichier à envoyer et enlevé sinon.
Dans les fichiers de type ascii, le caractère de controle ^D (control D) est utilisé pour signaler la fin d'un fichier (déclenche une sauvegarde + un tracé d'image éventuel).
La suite de caractères de controle ^D^V^D signale la fin d'un fichier et un ordre de synchronisation avec Narcisse (l'application attend le temps que Narcisse ait terminé la lecture des données que l'on vient d'envoyer). On doit alors mettre l'option -y de narcp.
Si l'on envoit un fichier binaire avec narcp et que l'on désire un synchronisation, il faut concaténer au fichier le fichier adéquat (sync.spx) et mettre l'option -y de narcp.
Si l'on envoit un fichier l3 avec narcp et que l'on désire un synchronisation, il faut concaténer au fichier le fichier adéquat (sync.l3) et mettre l'option -y de narcp.