Réponses:
$ 1 (ou $ 2, $ 3 ...) est censé être les arguments donnés à un script.
Voici un exemple de script:
#!/bin/bash
echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"
Et l'exemple de sortie
jaba@lappy:/tmp$ ./example.sh
$1 is now
$2 is now
$3 is now
jaba@lappy:/tmp$ ./example.sh 1 2 3
$1 is now 1
$2 is now 2
$3 is now 3
$ 1 est l'argument passé pour le script shell.
Supposons que vous couriez
./myscript.sh hello 123
puis
1 $ sera bonjour
2 $ sera 123
Dans votre cas, $ 1 affiche le shell de connexion par défaut utilisé car cet argument a été transmis au script qui exécute votre shell de connexion. Mais si vous écrivez et exécutez votre propre script dans la session en cours, $ 1, $ 2, ... seront des paramètres que vous enverrez à votre script.