Odpowiedzi:
1 $ (lub 2 $, 3 $ ...) ma być argumentami podanymi dla jakiegoś skryptu.
Oto przykładowy skrypt:
#!/bin/bash
echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"
I przykładowy wynik
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 $ jest argumentem przekazywanym za skrypt powłoki.
Załóżmy, że biegniesz
./myscript.sh hello 123
następnie
1 $ będzie cześć
2 USD wyniesie 123
W twoim przypadku $ 1 drukuje domyślną powłokę logowania, ponieważ ten argument został przekazany do skryptu, który uruchamia powłokę logowania. Ale jeśli napiszesz i uruchomisz własny skrypt w bieżącej sesji, 1 $, 2 $ ... będą parametrami, które wyślesz do skryptu.