Ваш диск, вероятно, реагирует на то, чтобы быть зондируемым smartd. Если так, затем нет никакой настоящей проблемы. Проверьте smartd.conf и посмотрите, упоминается ли/dev/hdc там в строке, это не комментируется.
В интерактивной оболочке, $IFS
будет значение по умолчанию, если Вы не изменили его, или что-то в оболочке запускает сценарии (как ~/.bashrc
для bash
) или любые другие полученные сценарии или функции оболочки, выполняемые начиная с оболочки, были запущены, изменяют его (они обычно не были бы или возвращать его к значению по умолчанию, если они правильно записаны хотя).
Если те функции, определяемые в емкостно-резистивных файлах или других полученных файлах правильно записаны, и они должны использовать разделение слова, они ничего не приняли бы на текущем значении IFS, таким образом, это должно быть хорошо для Вас, действительно устанавливают его на другое значение.
Однако, после того как Вы изменяете его, необходимо помнить, что Вы сделали, поскольку это могло бы влиять на путь командные строки, Вы работаете, позже интерпретируются.
Например, если Вы делаете:
IFS=:; ls -- $PATH
Перечислять каталоги в $PATH
, Вы могли бы задаться вопросом почему позже вещи как:
rm -f -- $(cat ~/my.file.list)
не работайте больше. Таким образом, Вы могли бы также записать это:
(IFS=:; ls -- $PATH)
Или:
IFS=:; ls -- $PATH; unset IFS
(BTW, unset IFS
восстанавливает разделение слова к его поведению по умолчанию, но нет $IFS
и это повреждается (не правильно записанный) функции, которые делают вещи как oldIFS=$IFS; IFS=xxx; ...; IFS=$oldIFS
восстановить $IFS
).
Конечно, Вы можете и должны ожидать это IFS
набор должен принять значение по умолчанию, поскольку без него, все виды команд просто прекратят работать в целом.
Вы изменяете IFS в оболочке (временно) по тем же причинам, Вы делаете это в сценарии удара, когда Вам, оказывается, нужна она (который редко когда-либо происходит). Если Вы собираетесь использовать определенную команду только, после того как нет никакой причины записать это в сценарий оболочки. Кроме этого нет никакого различия между сценарием оболочки и использованием оболочки непосредственно.
read
или .
(иначе source
) или функции Вы определяете.
– Stéphane Chazelas
27.02.2013, 18:05
IFS=: ls -- $PATH
, без подоболочки. – jordanm 27.02.2013, 18:28IFS=:
в среду, переданнуюls
(которому не нравится он), но не влияет как это$PATH
разделяется в этой командной строке. Вы могли сделатьIFS=: command eval 'ls -- $PATH'
, но это является немного громоздким. – Stéphane Chazelas 27.02.2013, 18:35