Linux 有条件地执行.bashrc命令

Linux 有条件地执行.bashrc命令,linux,bash,google-drive-api,Linux,Bash,Google Drive Api,我想把我的谷歌硬盘连接到我的本地机器(linux),这样我就可以通过我的终端访问它 在谷歌搜索之后,我发现我可以安装GoogleDrive ocamlfuse来实现这一点 启动计算机时,我必须键入: google-drive-ocamlfuse ~/google-drive 安装谷歌硬盘 为了避免每次都这样做,我将该行添加到.bashrc中。这很好用。但随后我打开的每一个终端都会尝试运行该线路,我得到一条消息: fuse: mountpoint is not empty fuse: if yo

我想把我的谷歌硬盘连接到我的本地机器(linux),这样我就可以通过我的终端访问它

在谷歌搜索之后,我发现我可以安装GoogleDrive ocamlfuse来实现这一点

启动计算机时,我必须键入:

google-drive-ocamlfuse ~/google-drive
安装谷歌硬盘

为了避免每次都这样做,我将该行添加到.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实用程序集合的一部分

您可以将此命令放在一个shell启动文件中,但最好放在一个系统启动文件中。根据您的发行版,该文件可能是
/etc/rc.local

有条件执行的替代形式 如果愿意,可以使用
If-then
语句执行条件执行:

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

这里,
否定mountpoint的退出代码,以便只有当mountpoint返回false时才执行google drive ocamlfuse。

尝试将此命令放入启动文件:

mountpoint ~/google-drive || google-drive-ocamlfuse ~/google-drive
mountpoint
测试其参数是否为装入点。如果不是,则
mountpoint
返回false并触发
|
执行第二个命令

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

您可以将此命令放在一个shell启动文件中,但最好放在一个系统启动文件中。根据您的发行版,该文件可能是
/etc/rc.local

有条件执行的替代形式 如果愿意,可以使用
If-then
语句执行条件执行:

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

这里,
否定mountpoint的退出代码,这样只有当mountpoint返回false时才执行google drive ocamlfuse。

将其添加到
~/.profile
中?我不太理解.bashrc和.profile之间的区别,但我现在已经读过了,这是有意义的。谢谢。虽然.profile是您问题的答案,但更好的解决方案是来自John1024的答案,因为如果您在启动时注销并重新登录想要发生的事情,那么profile可能会运行多次,您应该编辑系统的启动脚本,不是您自己的任何个人shell配置文件。请将其添加到
~/.profile
中?我不太理解.bashrc和.profile之间的区别,但我现在已经阅读了,这很有意义。谢谢。虽然.profile是您问题的答案,但更好的解决方案是来自John1024的答案,因为如果您在启动时注销并重新登录想要发生的事情,那么profile可能会运行多次,您应该编辑系统的启动脚本,而不是您自己的任何个人shell配置文件。