Okey, первая вещь, которую необходимо попробовать, должен установить человечность, и начальная загрузка с монитором включила интегрированный слот видеокарты (i3 sandy bridge идет с интегрированной графикой, они должны, вероятно, работать).
Это похоже на хорошую ссылку о том, как получить работу карты Nvidia, но это должно быть сделано в уже установленной человечности.
http://www.howopensource.com/2012/10/install-nvidia-geforce-driver-in-ubuntu-12-10-12-04-using-ppa/
Не настоящий специалист в человечности и никогда не имел карту Nvidia, но кажется, что она должна помочь.
Переустановка не поможет здесь, потому что Вы получаете то же программное обеспечение много раз.:)
Для получения до установленной системы монетного двора/человечности от liveCD/usb, можно следовать этому руководству (это кажется хорошим) до (включения) шага 6:
но я добавил бы дополнительный шаг 5.5 с командой:
sudo cp /etc/resolv.conf /media/xx..xx/etc/resolv.conf
После sudo chroot... Вы будете в установленной системе и можете выполнить команды, упомянутые в предыдущей ссылке об установке драйвера Nvidia.
] Итак, есть несколько проблем с вашим подходом. [
] [] Вы экспортируете функцию, которая не переносится между оболочками. []watch[
] выполняет свои команды с помощью []/bin/sh[
], которая в вашей системе не является []bash[
]. И какой бы shell это ни был, он не уважает экспорт функций, поэтому вы получаете ошибку.[
]Во-вторых, вы можете изменить вашу команду на что-то вроде []Watch bash -c 'func1'[
], но это тоже может не сработать.[
].
Причина здесь в том, что любые переменные, заданные сценарием, не будут доступны функции. Возможно, вы сможете экспортировать те, которые ему нужны, но это начинает создавать неприятности.[
]Самое безопасное решение - это поместить []func1[
] в скрипт сам по себе и вызвать этот скрипт.[
].
[
] Короче говоря, попробуйте:[
] [watch bash -c func1
] ] Зачем запускать [] просмотр[
] изнутри сценария? Почему бы не запустить этот скрипт оболочки:[
$ cat func1
#!/bin/bash
func1(){
echo $1
}
func1 $1
]
[]... и затем запустить его так ...[
] [$ watch func1 foo
] Оболочка по умолчанию для watch
- / bin / sh
. Оболочки не наследуют экспортируемые переменные или функции от других типов оболочки.
Если ваша система не поддерживает символическую ссылку / bin / sh
на / bin / bash
(или на вашу текущую оболочку), то вы можете указать watch
выполнить вашу shell с помощью -x
или - exec
:
watch -x bash -c "my_func"
или
watch --exec bash -c "my_func"
Это отличается от watch bash -c "test_watch"
(за исключением - exec
), поскольку он не использует / bin / sh
для создания дочернего процесса (в данном случае bash
), поддерживая bash
полностью вниз. Как указано в других ответах, это может стать беспорядочным, если экспортируются функции, которые сильно связаны с текущей средой (т.е. требуют других переменных или функций).
Пример:
test_watch() { echo 'Working!'; }
export -f test_watch
watch --exec bash -c "test_watch"
дает знакомое
Every 2.0s: bash -c test_watch Thu Mar 31 11:15:56 2016
Working!