Это обычная проблема с / media. Он примет назначенное имя и начнет добавлять цифры, если он не очистил свой кеш (обычно требуется перезагрузка), прежде чем вы отключите, а затем снова подключите (или отключите питание, а затем снова включите устройство хранения).
И наоборот, одно всегда остается неизменным: USB-соединение с (первым) Arduino Nano всегда называется / dev / ttyUSB0, а (первое) USB-соединение с Arduino Uno - / dev / ttyACM0 - они просто исчезают, когда он отключается, а затем возвращается обратно при повторном подключении.
Единственный способ запутать их - это если у вас есть несколько устройств одного типа (Nano или Uno), и вы подключаете их в другом порядке, чем это было сделано изначально.
Это имеет значение только в среде Arduino IDE на Rpi, потому что, если у вас есть несколько устройств одного типа, нет другого способа отличить их друг от друга, кроме как знать порядок, в котором они были подключены.
Если вы забудьте, затем закройте IDE, отключите их, затем используйте
ls /dev/tty*
несколько раз, чтобы посмотреть, какие изменения меняются при их повторном подключении.
Затем вы можете перезапустить IDE, и они будут отображаться как доступные порты.
Среди других трюков (, таких как передача LC_*
переменных окружения ), вы можете сделать следующее:
PARAMETER="123"
ssh user@host PARAMETER="$PARAMETER" bash -s <<- __EOF
echo \$PARAMETER
__EOF
Преимуществом подхода является отсутствие требования к export PARAMETER
, добавление его имени вAcceptEnv
(в случае имен, не начинающихся сLC_
)в конфиге /etc/ssh/sshd_config
на удаленном хосте, добавление в SendEnv
на удаленном хосте локальный хост (на -o
или на/etc/ssh/ssh_config
).
Вставить одинарные кавычки в двойные кавычки:
$ file_name="one two"
$ ssh remote ls "'$file_name'"
ls: cannot access 'one two': No such file or directory
Переменная подставляется первой, без удаления одинарных кавычек. Таким образом, содержимое отправляется на ssh в одинарных -кавычках.