Відповіді:
$ 1 (або $ 2, $ 3 ...) повинен бути аргументами, наданими деякому сценарію.
Ось приклад сценарію:
#!/bin/bash
echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"
І приклад виведення
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 - аргумент, переданий для сценарію оболонки.
Припустимо, ти біжиш
./myscript.sh hello 123
потім
$ 1 буде привіт
$ 2 буде 123
У вашому випадку $ 1 друкує оболонку для входу за замовчуванням, що використовується, оскільки цей аргумент був переданий скрипту, який виконує вашу оболонку входу. Але якщо ви будете писати та запускати власний скрипт у поточному сеансі, параметри, які ви надсилаєте до свого сценарію, будуть $ 1, $ 2, ...