Что такое код для запуска скрипта при запуске, который связывает домашние папки с другими папками в зависимости от наличия диска?
Поскольку большинство моих файлов хранятся на отдельных дисках и в других местах, чем / home / John / Folder, я использую код терминала для привязки домашних папок к разным местам. Например, я связываю папку / Documents с / Dropbox / Documents, чтобы она постоянно сохранялась. Я узнал, как это сделать через терминал, и где-то читал, что вы можете поместить код в скрипт /etc/rc.local и что этот скрипт (rc.local) запускается при запуске. Я поместил код в этот скрипт, но я не уверен, как заставить его запускаться при запуске. Прямо сейчас мне нужно подождать, пока компьютер запустится, затем запустить код в терминале. Полный код этого скрипта, который я установил, приведен ниже.
sudo mount -o bind /media/Storage/Music ~/Music && sudo mount -o bind /media/storage/downloads ~/Downloads && sudo mount -o bind /media/2TB/Videos ~/Videos && sudo mount -o bind /home/john/dropbox/documents ~/Documents && sudo mount -o bind /home/john/dropbox/Photos ~/Pictures && exit 0
Выход 0 необходим для запуска сценария, согласно комментарию в сценарии.
Поскольку это на ноутбуке, и я храню свои видеофайлы на внешнем диске, есть ли возможность добавить простое «Если есть, также привязать ~ / Videos к / media // Videos», а если нет, пропустите над ним? Или поместите этот код в конец, чтобы он не влиял на выполнение выше?
С вашим сценарием связано несколько проблем:
Следующий скрипт выполнит то, что вы просили:
[[ -d /media/Storage/Music ]] && mount -o bind /media/Storage/Music /home/your_user/Music
[[ -d /media/storage/downloads ]] && mount -o bind /media/storage/downloads /home/your_user/Downloads
[[ -d /media/2TB/Videos ]] && mount -o bind /media/2TB/Videos /home/your_user/Videos
mount -o bind /home/john/dropbox/documents /home/your_user/Documents
mount -o bind /home/john/dropbox/Photos /home/your_user/Pictures
exit 0
В BASH-скрипте ...
#check for existence of a directory
if [ ! -d /media/Videos ]; then
// do nothing or echo "not available"
else
// action
fi
#check for existence of a file
if [ ! -f /media/Videos/i_am_mounted ]; then
// do nothing or echo "not available"
else
// action
fi
Вы также можете прекратить использование & amp; & amp; сюда. (Если у вас есть command1 && command2
, команда2 выполняется тогда и только тогда, когда команда 1 завершена с кодом выхода 0 (успех).) И у вас есть локальная сеть. Часть сети может принадлежать сценариям, размещенным в /etc/network/if-up.d и /etc/network/if-down.d. Локальная часть может принадлежать /etc/rc.local - чтобы прекратить использовать команду sudo.