/ / Умовно виконайте команду .bashrc - linux, bash, google-drive-sdk

Умовно виконайте команду .bashrc - linux, bash, google-drive-sdk

Я хотів приєднати свій Диск Google до своєї локальної машини (Linux), щоб я міг отримати доступ до нього через свій термінал.

Після деякого googling я побачив, що я можу встановити google-drive-ocamlfuse для цього.

Коли я завантажую машину, я повинен вводити:

google-drive-ocamlfuse ~/google-drive

щоб встановити Google Диск.

Щоб не робити цього кожного разу, я додав рядок до свого .bashrc. Що чудово працює. Але потім кожен наступний відкритий термінал намагається запустити лінію, і я отримую повідомлення:

fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the "nonempty" mount option

Я припускаю, що отримую це повідомлення, оскільки воно намагаєтьсямонтувати щось, що вже встановлено. Чи є спосіб, щоб я міг зробити цю лінію у своєму. Або якимось іншим способом я можу зупинити попередження?

Не велика справа, але було б непогано чогось навчитися.

Відповіді:

5 за відповідь № 1

Спробуйте помістити цю команду у файл запуску:

mountpoint ~/google-drive || google-drive-ocamlfuse ~/google-drive

mountpoint перевіряє, чи є його аргументом опорний пункт. Якщо це не так, то mountpoint повертає помилкове і це спрацьовує || виконати другу команду.

mountpoint є частиною колекції утилітів util-linux.

Ви можете поставити цю команду в один із запуску файлів оболонки, але, ймовірно, краще розмістити її в одному з файлів запуску системи. Цей файл може бути залежно від вашого розповсюдження /etc/rc.local.

Альтернативна форма для умовного виконання

Якщо ви віддаєте перевагу, умовне виконання можна виконати за допомогою if-then висловлювання:

if ! mountpoint ~/google-drive
then
google-drive-ocamlfuse ~/google-drive
fi

Тут ! заперечує вихідний код точки монтажу, так що google-drive-ocamlfuse виконується лише в тому випадку, якщо Mountpoint повертає значення false.