SSH経由でリモートエイリアスを実行するにはどうすればよいですか?
たとえば、rkhunter
にはかなり複雑なエイリアスがあり、ssh
を介して1つのコマンドでそれを実行したいと思います。
ssh user@server_ip -p port_number -t alias_name_defined_on_server
正確には、エイリアスは.bash_aliases
は.bashrc
この特定のuser
の。
有効な回答 が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