cd
Takma ad ikamesinden sonra yapışmasını istemiyorsanız, (
y ile bir alt kabuk kullanın )
:
alias my_x="(cd /home/path_to_x && ./x)&"
kontrol edebilirsin
alias test_y="(cd /tmp && sleep 10 ) & "
Not çözümü
alias my_y="/home/path_to_x/x"
tam olarak eşdeğer değildir. Aslında, aracılığıyla denilen eğer my_x
, x
program geçerli dizinde ile çalıştırılan /home/path_to_x/
tarafından çağrılan eğer ederken, my_y
, x
komut biri olan geçerli dizinde ile çalıştırılır my_y
yayınlandı. Bu, ne x
yaptığına bağlı olarak önemli olabilir veya olmayabilir .
Hakkında OP çözümü , bu çalışır bash
:
romano@RRyS:~$ pwd
/home/romano
romano@RRyS:~$ alias x="cd /bin && ./echo A >/dev/null &"
romano@RRyS:~$ x
[1] 16611
romano@RRyS:~$ pwd
/home/romano
ama içinde değil zsh
:
[romano:~] % pwd
/home/romano
[romano:~] % alias x="cd /bin && ./echo A >/dev/null &"
[romano:~] % x
[1] 16744
[1] + 16744 done ./echo A > /dev/null
1& [romano:/bin] % pwd
/bin
[romano:/bin] %
Görünüşe göre bash ve zsh listeleri farklı şekillerde yürütüyor ... bu yüzden açık parantez eklemek daha iyi ... bana işaret ettiği için teşekkürler @EliahKagan.
alias x='/home/path_to_x/x'
. Daha.
önce kullanma/home
..
(nokta) geçerli dizini ifade eder.