簡體   English   中英

有條件地執行.bashrc命令

[英]Conditionally execute a .bashrc command

我想將Google雲端硬盤附加到本地計算機(Linux)上,以便可以通過終端訪問它。

經過一番谷歌搜索,我看到我可以安裝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

我想我收到此消息是因為它正在嘗試掛載已經掛載的東西。 有什么辦法可以使我的.bashrc中的這一行僅在終端在會話中首次打開時才執行。 還是我可以停止警告的其他方式?

沒什么大不了的,但是學習一些東西會很好。

嘗試將此命令放在啟動文件中:

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

mountpoint測試以查看其參數是否為安裝點。 如果不是,則mountpoint返回false並觸發|| 執行第二個命令。

mountpoint是util-linux實用程序集合的一部分。

您可以將此命令放在一個外殼啟動文件中,但最好將其放在一個系統啟動文件中。 根據您的分發,該文件可能是/etc/rc.local

條件執行的替代形式

如果願意,可以使用if-then語句執行條件執行:

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

在這里! 取消mountpoint的退出代碼,以便僅在mountpoint返回false時才執行google-drive-ocamlfuse。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM