Tôi gặp sự cố khi có bí danh để mở rộng trên tài khoản lưu trữ của mình khi tôi chạy một lệnh như:
ssh user@server "bash -c \"alias\""
Tệp .bashrc của tôi là:
echo .bashrc
# .bashrc
shopt -s expand_aliases
# Source global definitions (commenting this out does nothing)
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias php="php55"
alias composer="php ~/bin/composer.phar"
Khi tôi chạy lệnh ssh ở trên, tôi thấy ".bashrc" echo'd. Nhưng nếu tôi cố chạy bí danh, tôi chẳng nhận được gì.
Tôi có thể thử "bash -ic", nhưng đây thực sự là một kịch bản mà tôi không thể dễ dàng thay đổi và tôi muốn biết tại sao điều này không hiệu quả.
Đầu ra của ssh user@server "bash -c \"shopt\""
.bashrc
autocd off
cdable_vars off
cdspell off
checkhash off
checkjobs off
checkwinsize off
cmdhist on
compat31 off
compat32 off
compat40 off
dirspell off
dotglob off
execfail off
expand_aliases off
extdebug off
extglob off
extquote on
failglob off
force_fignore on
globstar off
gnu_errfmt off
histappend off
histreedit off
histverify off
hostcomplete on
huponexit off
interactive_comments on
lithist off
login_shell off
mailwarn off
no_empty_cmd_completion off
nocaseglob off
nocasematch off
nullglob off
progcomp on
promptvars on
restricted_shell off
shift_verbose off
sourcepath on
xpg_echo off
Đầu ra của ssh user@server "bash -c \"echo $SHELL\""
.bashrc
/bin/bash
~/.local/bin
thời gian /etc/profile
được xử lý, nó sẽ tự động thêm nó vào PATH của bạn. Bạn cũng có thể ngay . /etc/profile
sau khi tạo thư mục để thêm nó vào PATH của mình mà không cần khởi động lại hoặc đăng xuất / đăng nhập.
$PATH
là~/bin:$PATH
nó hoạt động tốt.