Linux не показывает правильное имя hdd

Похоже, у вас есть неправильная экспортируемая функция в среде, как здесь (в функции отсутствует точка с запятой и закрывающая фигурная скобка):

$ env "BASH_FUNC_foo%%"="() {  echo foo" bash -c "echo blah"
bash: foo: line 1: syntax error: unexpected end of file
bash: error importing function definition for `foo'
blah

Bash экспортирует функции в среду и автоматически считывает их оттуда, конечно, жалуясь, если у них есть синтаксические ошибки. Это происходит, даже если он запускается как sh. Это будет означать, что вы должны получить ту же ошибку при запуске любого скрипта, например. этот простой:

#!/bin/sh
echo hello

Вы можете проверить, что у вас есть в среде, с помощью чего-то вроде env | модуль grep (префикс BASH_FUNC_ и суффикс %% могут не совпадать). Затем вам нужно выяснить, где установлена ​​​​эта переменная среды. Однако установить его в сценарии Bash довольно сложно, поскольку % не является допустимым символом в именах переменных оболочки.

0
23.01.2017, 11:35
2 ответа

/ dev / sdx не является «правильным именем жесткого диска», и вам никогда не следует полагаться на конкретный узел устройства, особенно для съемных устройств. Обычно вы можете полагаться на UUID устройства / раздела или на метку файловой системы (если есть).

В / etc / fstab вместо / dev / sdx вы можете указать UUID = или LABEL =

Кроме того, там должны быть записи в / dev / disk / by-uuid и в конечном итоге / dev / disk / by-label , которые должны быть ссылками на фактические узлы устройства. Итак, для ручного доступа вы можете смонтировать / dev / disk / by-uuid / od / dev / disk / by-label / . Чтобы узнать UUID и / или LABEL, просто выполните ls -l / dev / disk / by-uuid и ls -l / dev / disk / by-label .

2
28.01.2020, 02:25

У меня есть пара идей:
1- sdb устройство в действительности является dm одним
2- sdb устройство было создано (до обнаружения sdc) и затем уничтожено (после обнаружения sdc)

Дальнейшее чтение: Я предлагаю вам прочитать некоторые документы, если вы еще не сделали этого
например, http://www.tldp.org/HOWTO/Partition-Mass-Storage-Definitions-Naming-HOWTO/x99.html
http://tldp.org/HOWTO/Partition/devices.html

1
28.01.2020, 02:25

Теги

Похожие вопросы