web-dev-qa-db-ja.com

SSH経由でリモートエイリアスを実行するにはどうすればよいですか?

SSH経由でリモートエイリアスを実行するにはどうすればよいですか?


たとえば、rkhunterにはかなり複雑なエイリアスがあり、sshを介して1つのコマンドでそれを実行したいと思います。

ssh user@server_ip -p port_number -t alias_name_defined_on_server

正確には、エイリアスは.bash_aliases.bashrcこの特定のuserの。

4

有効な回答 がSOで公開され、以下に引用されています:

bashのmanページから引用:expert_aliasesシェルオプションがshopt ...

したがって、IMOで最も簡単な方法は、次の行を/home/<user>/.bashrcファイルの先頭に置くことです。

# comment out the original line
# [ -z "$PS1" ] && return

if [ -z "$PS1" ]; then
  shopt -s expand_aliases
  # alias ls='ls --color=always'
  # return
fi

保存して終了。これでssh user@Host "your_alias"を正常に実行できます。

注:~/.bashrcが次のようなものを保持している場合、シェルがインタラクティブでないときにreturnという行をコメント化します。

# If not running interactively, don't do anything
 case $- in
     *i*) ;;
       *) return;;
 esac
3
Yaron