하나의 명령을 사용하여 터미널에서 3 개의 새로운 터미널에 3 개의 다른 폴더를 열고 싶습니다. 그들 모두는 서로 독립적으로 실행 되어야만 하나의 명령은 전에 명령에 의존하지 않는다는 것을 의미합니다. 여기 여러 개의 Bash 별칭 호출하기
은 .bashrc에alias cmd1=gnome-terminal && cd ~/Desktop/
alias cmd2=gnome-terminal && cd ~/Documents/
alias cmd3=gnome-terminal && cd ~/Music/
alias runcmds='cmd1 & cmd2 & cmd3'
에서 호출 내 .bash_aliases이다 그러나 이것은 음악 디렉토리에 세 개의 터미널을 열어 올바르게 명령을 실행하지 않습니다. runcmds가 3 개의 명령을 모두 개별적으로 실행하도록하려면 어떻게해야합니까?
언제 인용 부호를 사용해야합니까? 필요없는 경우는 언제입니까?
를 ... 어. 'gnome-terminal && cd ~/Desktop'은 새로운 터미널 내부에서'cd' *를 실행하지 않습니다. 이것은 당신이 원하는 것이라고 생각합니다. 대신, 새로운 터미널을 실행하고 터미널을 시작한 * 별도의 외부 프로세스 인'cd '를 실행합니다. 이것은 완전히 다른 쉘입니다. –
따옴표가 필요하지 않을 때 -'alias cmd1 = gnome-terminal && cd ~/Desktop'은 먼저'cmd1'을'gnome-terminal'의 별칭으로 만들고'~/Desktop'을 지정합니다. 반대로 alias cmd1 = 'gnome-terminal && cd ~/Desktop''은 alias가 정의되었을 때와 달리 alias가 호출 될 때'~/Desktop'으로'cd'됩니다. –
쉘 프로그래머로서 성공하려면 [Bash에서 인용 부호가 어떻게 동작하는지] (http://mywiki.wooledge.org/Quotes)를 이해하는 것이 중요합니다. 언제 사용할 수 있는지 확실하지 않으면 온라인에서 사용할 수있는 다양한 리소스가 있습니다. – dimo414