Поместите амперсанд в конец командной строки.
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome &"
Если вы также не хотите видеть какие-либо отладочные выходные данные Chrome, перенаправьте stdout и stderr в / dev / null
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 2>&1 > &"
На Mac вы можете сделать это еще проще:
alias chrome="open /Applications/Google\ Chrome.app/ --args --disable-web-security"
Ваше второе требование делает это немного сложнее, хотя. Символ & должен находиться в конце командной строки; но ваш второй псевдоним добавляет команды в конец первой команды, т. е. после амперсанда, и поэтому это не работает.
Чтобы обойти это, мы можем переопределить 'chrome' как функцию.
chrome () {
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome $* 2>&1 &
}
$*
означает, что любые параметры командной строки, переданные функции, будут вставлены здесь, перед амперсандом. Это означает, что вы все еще можете определить свой второй псевдоним как
alias chromex="chrome --disable-web-security"
Это будет расширено до
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security 2>&1 &
Кстати, это называется «в фоновом режиме». «Как демон» означает серверный процесс, который запускается при каждом включении компьютера и не привязан к сеансу пользователя.