我的问题是
$ ssh localhost fswatch
bash: fswatch: command not found
Run Code Online (Sandbox Code Playgroud)
当没有 SSH 命令(即 fswatch)时工作正常。
我发现 SSH 会话中的 PATH 是默认的 Mac 的
$ ssh localhost echo \$PATH
/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
因为没有 SSH
$ echo $PATH
/Users/kyb/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
我真的不记得我是如何设置 PATH 的,但可以肯定的是~/.bashrc,~/.bash_profile不要编辑 PATH 变量。有一个配置文件/etc/paths:
$ cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
Run Code Online (Sandbox Code Playgroud)
Homebrew、npm、pip 通常将程序安装到/usr/local/bin,因此所有已安装的程序都在那里,我无法通过ssh localhost command我的 MacOS 访问它们。Linux下没有问题。
所以我的问题是如何配置 OpenSSH 以使用来自/etc/paths和 的PATH/etc/paths.d?
我也尝试破解:
$ ssh localhost sh -lc 'echo empty;echo $PATH'
/usr/bin:/bin:/usr/sbin:/sbin …Run Code Online (Sandbox Code Playgroud) 的dmesg输出:
[ 9376.684650] mmc0: card 59b4 removed
[ 9378.738987] mmc0: cannot verify signal voltage switch
[ 9378.859232] mmc0: new ultra high speed SDR104 SDHC card at address 59b4
Run Code Online (Sandbox Code Playgroud)
lsblk并且fdisk -l不显示任何新磁盘。
KDE 分区管理器也看不到它。
我试图找到它,/dev但没有成功:
/dev/sda
/dev/sda1
/dev/sda2
/dev/sdb
/dev/sdb1
/dev/sdb2
/dev/sdb4
/dev/sg0
/dev/sg1
/dev/snapshot
/dev/stderr
/dev/stdin
/dev/stdout
Run Code Online (Sandbox Code Playgroud)
它们都不是 SD 卡。SD卡插入和弹出时列表相同。
lspci 输出(缩短):
$ lspci
05:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
Run Code Online (Sandbox Code Playgroud)
未分配的班级。这是否意味着系统需要 …