Saya kesulitan mendapatkan alias untuk diperluas di akun hosting saya ketika saya menjalankan perintah seperti:
ssh user@server "bash -c \"alias\""
File .bashrc saya adalah:
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"
Ketika saya menjalankan perintah ssh di atas, saya melihat ".bashrc" digaungkan. Tetapi jika saya mencoba menjalankan alias, saya tidak mendapatkan apa-apa.
Saya dapat mencoba "bash -ic", tetapi ini sebenarnya dalam skrip yang tidak dapat saya ubah dengan mudah, dan saya ingin tahu mengapa ini tidak berhasil.
Output dari 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
Output dari ssh user@server "bash -c \"echo $SHELL\""
.bashrc
/bin/bash
~/.local/bin
ketika /etc/profile
diproses akan secara otomatis menambahkannya ke PATH Anda. Anda juga bisa . /etc/profile
setelah membuat folder untuk menambahkannya ke PATH Anda tanpa reboot atau logout / login.
$PATH
karena~/bin:$PATH
berfungsi dengan baik.