@Linda-chan

Тег bash в блоге Linda-chan

Linda-chan

Чтобы передать параметры скрипта дальше, нужно использовать это:

"$@"

Никакие другие варианты вроде этих:

$
"$
"
$@

не дают ожидаемого результата. Ну, тобишь, ты даёшь три параметра:

byaka.sh 1 2 "3 4"

а он вызывает это:

./other.sh $*

а следующий скрипт получает это:

other.sh 1 2 3 4

=_=

Linda-chan

Проблему, озвученную в предыдущем посте решила двумя способами. Так:

MY_DP=$( dirname $( realpath "$0" ) )

Или так:

MY_DP=$( dirname $( readlink -e "$0" ) )

В первом нужно устанавливать дополнительную утилиту, а второй работает сразу.
Спасибо поучаствовавшим пойнтожуйкерам!

Linda-chan

Вопрос знатокам баш-скриптинга. Как получить каталог, в котором находится выполняющийся скрипт, чтобы в самом скрипте подставлять его у другим файлам, которые должны искаться в каталоге скрипта?
Например, в Windows я использую конструкцию вида «%~d0%~p0», которая берёт диск и путь к каталогу, в котором лежит выполняющийся BAT файл (его имя получается из переменной %0). В итоге на файлы я ссылаюсь так: «%~d0%~p0SomeDataFile.TXT».
А как это сделать в Баше? Как из $0 вытащить такую же информацию?

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.