в функцию на баше отправляется параметр "путь к другому скрипту с тильдой", вида
~/PATH_TO_FILE/FILE
в функции происходит парсинг на путь и имя файла, при попытке перейти в каталог, выдается сообщение ошибки
если тут же копипастом вставить к ком. строку просмотр каталога 'ls -ld' - то каталог видится
если так же сделать cd - тоже все нормально
если вызывающий аргумент подрихтовать и тильду заменить на нормальный путь /home/$USER
то в функции переходит происходит нормально
func '~/PATH_TO_FILE/FILE' - error
func '/home/$USER/PATH_TO_FILE/FILE' - OK
если просто в терминале набрать переход с тильдой то все нормально:
cd ~/PATH_TO_FILE/
далее кусок функции и эхо вывод
#!/bin/sh
func()
{
SCRIPT=$(basename "$1")
SCRIPT_DIR=$(dirname "$1")
echo "
'$1'
'$SCRIPT_DIR'
"
# пробовал "оба варианта"
cd $SCRIPT_DIR
cd $(dirname "$1")
...
}
вызов функции
func '~/PATH_TO_FILE/FILE' - error
func '/home/$USER/PATH_TO_FILE/FILE' - OK
...
run_prc.sh: line 80: cd: ~/PATH_TO_FILE: No such file or directory
cd ~/PATH_TO_FILE - OK
...
менять путь - не катит
/bin/bash-3.1.17
/bin/bash-3.2.57
/bin/bash-4.3.30
slackware-12.2
Ответ на:
комментарий
от targitaj
Ответ на:
комментарий
от targitaj
Ответ на:
комментарий
от sunjob
Ответ на:
комментарий
от gh0stwizard
Ответ на:
комментарий
от unterwulf
Ответ на:
комментарий
от sunjob
Ответ на:
комментарий
от kostik87
Ответ на:
комментарий
от gh0stwizard
Ответ на:
более продвинутое решение
от sunjob
Ответ на:
комментарий
от gh0stwizard
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум патченный bash & set -e, странное поведение (2014)
- Форум Как сделать открывающийся терминал в пункте контекстного меню (2017)
- Форум сделать простенький rpm-пакет - v2 (2007)
- Форум Эмулирование среды Cron. Чего еще не хватает? (2013)
- Форум Bash script (2016)
- Форум bash scripting (2012)
- Форум Bash script (2019)
- Форум Bash script (2019)
- Форум Не работает Outline (2024)
- Форум bash scripting (2010)