在 Ubuntu 12.04 上给出这个 ~/.test 文件:
alias ll='ls -la'
echo "TEST"
当我获取 ~/.test 时,我将 TEST 打印到终端,但别名不起作用。
回答问题的更多信息:
这是用于说明的终端复制/粘贴:
kontrol@smartxffts:~$ cat .test
alias ll='ls -la'
echo "TEST"
kontrol@smartxffts:~$ source .test
TEST
kontrol@smartxffts:~$ ll
ll: command not found
kontrol@smartxffts:~$ alias ll='ls -la'
kontrol@smartxffts:~$ ll
ll: command not found
alias 命令与同一系统上的其他帐户一样正常工作。这个不起作用的用户创建如下:
sudo mkdir /home/kontrol
sudo useradd -u 1001 -b /home -s /bin/bash -G adm,cdrom,sudo,dip,plugdev,lpadmin,sambashare kontrol
sudo chown kontrol:kontrol kontrol/
仍然难倒...!
最佳答案
.bashrc 中有一个 all 别名,带有 --color=auto 选项。删除它解决了这个问题。这仍然不能解释为什么 a) ll 的新别名没有覆盖旧别名,以及 b) 为什么选项 --color=auto 使它不起作用。其他 ls 别名使用该选项并且它们可以工作。
关于bash - bashrc 中的别名不起作用 - 其他一切都是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25220905/