В bash, что означает dir=${0%/*}?
Я нашел этот кусок кода во время изучения сценария bash:
dir=${0%/*}
Я подозреваю, что код внутри скобок является регулярным выражением, но я не понимаю, что это значит. Любая идея?
1 ответ
Решение
Это не регулярное выражение, но это сопоставление с образцом. Это устанавливает dir
к названию сценария, который $0
, но без последней косой черты и любой не косой черты после нее, если есть косая черта в $0
, Если косой черты нет $0
, dir
получает копию $0
без изменений. См. "Расширение параметров" в вики Bash Hackers.