如何为非交互式 shell 设置 globstar

如何为非交互式 shell 设置 globstar

我想在使用以下命令的远程服务器上以非交互方式执行命令**全局星选项。但是,默认情况下,遥控器上并未设置 globstar,并且bash 在非交互模式下不获取任何文件,所以我无法将此选项添加到~/.profile.

假设在远程服务器上

$ shopt -s globstar
$ mkdir -p a/b/c
$ ls a/**
a/:
b

a/b:
c

但在遥远的地方,

$ ssh user@remote "ls a**"
a/:
b

如何启用 globstar(最好通过更改远程计算机上的配置来启用)?

答案1

如果远程用户正在使用bashthen 则$HOME/.bashrc应该被加载,即使在非交互式 shell 中也是如此。您可以将您的选项放在那里。

例如

$ head -1 .bashrc 
echo BASHRC loaded

$ ssh localhost echo hello
sweh@localhost's password: 
BASHRC loaded
hello

$ 

相关内容