Ответ 1
Поместите амперсанд в конец командной строки.
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"
Второе требование делает это немного сложнее. The и должен быть в конце командной строки; но ваш второй псевдоним добавляет команды к концу первой команды - то есть после амперсанда - и поэтому это не работает.
Чтобы обойти это, мы можем переопределить "хром" как функцию.
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 &
Кстати, это просто называется "в фоновом режиме". "Как демон" относится к серверному процессу, который запускается всякий раз, когда машина включена, и не привязана к любому сеансу пользователя.