아래와 같이 .bashrc 파일에 별칭 이름을 지정했습니다. 그러나 별칭 이름이 작동하지 않습니다. 왜?
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export ORACLE_HOME=/ora11gr2/app/oracle/product/11.2.0/db2
export ORACLE_LIB=/ora11gr2/app/oracle/product/11.2.0/db2/lib
export PATH=$ORACLE_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
답변
.bashrc
파일을 변경 한 후 소스를 제공 했습니까 ? 시험:
. ~/.bashrc
그런 다음 쉘에 변경 사항이 표시됩니다. 또는 쉘을 종료했다가 다시 시작할 수 있습니다.
추신
스크립트에서 실행할 때이 첫 번째 참조를 로드하십시오.
shopt -s expand_aliases
답변
이는 PATH가 모든 별명 참조 2 진 경로를 사용하도록 올바르게 설정되지 않았기 때문에 발생할 수 있습니다. 즉, / bin / ls 아래에 존재합니다.
“export PATH = $ PATH : $ ORACLE_HOME / bin : / usr / vac / bin : / usr / vacpp / bin :.”을 사용해보십시오. 또는 “export PATH = $ ORACLE_HOME / bin : / usr / vac / bin : / usr / vacpp / bin : / bin : / sbin / : / usr / sbin과 같은 것
그렇지 않은 경우 “which”를 사용하여 개별 별명 참조 바이너리 (이력)의 경로 디렉토리를 찾으십시오.
답변
자신에게 물어볼 질문은 다음과 같습니다.
- ~ / .bashrc가 이미 쉘에서 실행 되었습니까? 쉘이 시작될 때만 실행됩니다. 새 쉘을 열면 (execute
bash
) 있어야합니다. 함께alias
사용하면 인쇄 된 모든 별칭을 볼 수 있습니다. - 두 번째로 물어봐야 할 것은 : 당신의 별명에있는 프로그램이 있는지 확인하십시오. 적어도 h (별칭 히스토리)는 내장되어 있기 때문에 분명히 작동해야합니다.
답변
.bashrc
이미 글로벌 한 별칭을 정의하려고 시도했을 수 있습니다 .
일반적으로 사용자의 별칭 .bashrc
은 /etc/bashrc
호출 전에 정의됩니다 . 이후에 이를 정의하십시오 .
여기에 당신의 예가 있습니다 .bashrc
:
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export ORACLE_HOME=/ora11gr2/app/oracle/product/11.2.0/db2
export ORACLE_LIB=/ora11gr2/app/oracle/product/11.2.0/db2/lib
export PATH=$ORACLE_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
답변
MacOS 사용자 가이 답변을 찾고 있는 경우를 대비하여 MacBook에서 시도했지만 터미널을 다시 시작해도 새로운 별칭 정의가로드되지 않습니다. 내가 그것을 작동시킬 수있는 유일한 방법은 source ~/.bashrc
매번이었다. 나는 다음에 내 별명 정의를 이동하려 ~/.bash_profile
하고 이 트릭을했던 것입니다.