programing

bash에 변수가 있는 별칭

padding 2023. 4. 18. 21:49
반응형

bash에 변수가 있는 별칭

에일리어스를 만듭니다.bash다음과 같습니다.

alias tail_ls="ls -l $1 | tail"

따라서 누군가가 다음을 입력할 경우:

tail_ls /etc/ 

디렉토리의 마지막 10개의 파일만 표시됩니다.

그렇지만$1나한테는 효과가 없는 것 같아요.bash에서 변수를 도입할 수 있는 방법이 있나요?

에일리어스가 아닌 함수를 생성하여 다음과 같이 내보냅니다.

function tail_ls { ls -l "$1" | tail; }

export -f tail_ls

메모-f로 바꾸다.export: 함수를 내보내고 있음을 나타냅니다.이것을 당신의 것에 넣으세요..bashrc이제 가도 돼

alias tail_ls='_tail_ls() { ls -l "$1" | tail ;}; _tail_ls'

@maxim-sloyko의 솔루션은 동작하지 않았지만, 다음과 같은 경우:

  1. ~/.bashrc에서 추가:

    sendpic () { scp "$@" mina@foo.bar.ca:/www/misc/Pictures/; }
    
  2. 파일을 저장하고 다시 로드합니다.

    $ source ~/.bashrc
    
  3. 실행:

    $ sendpic filename.jpg
    

원본 출처: http://www.linuxhowtos.org/Tips%20and%20Tricks/command_aliases.htm

정의할 수 있습니다.$1와 함께set에일리어스를 의도대로 사용합니다.

$ alias tail_ls='ls -l "$1" | tail'
$ set mydir
$ tail_ls

tail_ls() { ls -l "$1" | tail; }

bash 대신 Fish 쉘(http://fishshell.com )을 사용하는 경우 함수는 약간 다르게 기술됩니다.

이런 걸 더하고 싶을 거예요~/.config/fish/config.fish이것은 당신의 것과 동등합니다.~/.bashrc

function tail_ls
  ls -l $1 | tail
end

언급URL : https://stackoverflow.com/questions/4438147/alias-with-variable-in-bash

반응형