Официальный и лучший способ — использовать встроенную функцию getopts
для разбора параметров командной строки.
См. справочную страницу для получения дополнительной информации.
Примечание может быть важным:bash
не поддерживает длинные опции.
Если вы хотите, чтобы скрипты работали с длинными параметрами, у вас есть две оболочки, которые их поддерживают:ksh93
и bosh
. Обе оболочки поддерживают длинные параметры так же, как они поддерживаются функцией getopt(3)
в libc в Solaris. См. справочную страницу bosh (, которая в настоящее время начинается со страницы 43 :
.
http://schilytools.sourceforge.net/man/man1/bosh.1.html
getopts "f:(file)(input-file)o:(output-file)" OPT
поддерживает, например, опцию -f
с аргументом, и эта опция имеет длинную опцию псевдоним --file
и второй псевдоним для этой опции--input-file
ksh93 также поддерживает это, хотя это не задокументировано на справочной странице ksh93.
Вам нужно добавить команду exit
после команды Matlab, которую вы хотите выполнить:
(cd Documents/dir_001; nohup matlab -nodisplay -nosplash -nodesktop -r "run('/home/user/Documents/dir_001/myScript.m'); exit;") &
См. Как вызвать скрипт MATLAB из командной строки? для получения подробной информации.