以下を使用して、リモートサーバーで非対話式でコマンドを実行したいと思います。**グローバルスターオプション。しかし、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
bash
リモートユーザーがthenを使用している場合は、非$HOME/.bashrc
対話型シェルからもロードする必要があります。そこにオプションを入れることができます。
例えば
$ head -1 .bashrc
echo BASHRC loaded
$ ssh localhost echo hello
sweh@localhost's password:
BASHRC loaded
hello
$