명령의 별칭을 지정하려고 sudo shutdown
하지만 내 .profile
작업을 수행 할 수 없습니다 alias "sudo shutdown"="my command"
. Unix에서 여러 단어로 된 명령의 별칭을 지정하는 다른 방법이 있습니까?
명령의 별칭을 지정하려고 sudo shutdown
하지만 내 .profile
작업을 수행 할 수 없습니다 alias "sudo shutdown"="my command"
. Unix에서 여러 단어로 된 명령의 별칭을 지정하는 다른 방법이 있습니까?
답변:
별칭 이름은 왼쪽에 있으므로 오른쪽에 여러 단어로 된 명령을 사용할 수 있습니다.
alias my_alias="multi worded command"
편집 : 그러나 실제로 여러 단어의 별칭 이름을 원한다면-예를 들어 실제로 "sudo shutdown"을 별칭으로 사용하려면 bash 매뉴얼에서 다음 별칭 기능을 사용 하여이 문제를 해결할 수 있습니다 ) :
A trailing space in value causes the next word to be checked for
alias substitution when the alias is expanded.
따라서 sudo
다른 명령과 함께 사용하고 싶지만 다른 것과 함께 사용할 shutdown
수 있다면 다음과 같이 shutdown
할 수 있습니다.
alias sudo='sudo '
alias shutdown="echo nope"
이제 sudo anything_else
예상대로 작동합니다 (에 대한 별칭이 없다고 가정 anything_else
하지만 이전에 작동 하지 않았다고 가정 ). 그러나 해당 문자열과 sudo shutdown
동일하며 sudo echo nope
해당 문자열을 인쇄합니다.
alias cd="cd "
글자 별명과 함께 사용하여 alias X="<directory-with-long-name>"
더 쉽게 이동할 수 있습니다.
alias gti="git "
와alias lgo="log"
인용 : Bash : 별명에 공백
배쉬 문서 상태 "거의 모든 목적은, 쉘 기능 별칭 선호하고 있습니다." 다음은 인수가 (only)로 구성된 경우 ls
출력을 바꾸고 파이프 하는 쉘 함수입니다 .more
-la
ls() {
if [[ $@ == "-la" ]]; then
command ls -la | more
else
command ls "$@"
fi
}
원 라이너로 :
ls() { if [[ $@ == "-la" ]]; then command ls -la | more; else command ls "$@"; fi; }
자동 파이프 출력 :
ls -la
실행 파일을 / usr / local / bin (경로에 있는지 확인)에 넣고 실행하려는 명령이 들어있는 것을 선호합니다. 스크립트의 이름은 나타나는 명령입니다. chmod + x / usr / local / bin / your_script를 확인하십시오.
따라서 스크립트는 '종료'라고 할 수 있습니다
파일 종료 내용은 다음과 같습니다.
#!/bin/sh
sudo shutdown
그것은 완전히 새로운 세상을 열어줍니다. 그런 다음 몇 가지 명령이나 스크립트를 가질 수 있습니다.
#!/usr/bin/env python
print "hi"
# more stuff. ....