I думаю вы спрашиваете, как ссылаться на собственное имя скрипта, которое содержит $0
, например,
#! /bin/bash
k=1.3
next_k=$(echo "$k + 0.1" | bc -l)
sed -i "s/$k/$next_k/g" "$0"
echo $k
Подробнее о Позиционные параметры можно прочитать здесь , в частности, этот бит:
($ 0) Расширяется до имени оболочки или сценария оболочки. Это устанавливается при инициализации оболочки. Если Bash вызывается с файлом команд (см. Shell Scripts), в качестве имени этого файла устанавливается $ 0. Если Bash запускается с параметром -c (см. «Вызов Bash»), тогда $ 0 устанавливается в качестве первого аргумента после строки, которая должна быть выполнена, если она есть. В противном случае ему присваивается имя файла, используемое для вызова Bash, как указано в нулевом аргументе.
, например
$ cat test.sh
#! /bin/bash
k=1.3
next_k=$(echo "$k + 0.1" | bc -l)
sed -i "s/$k/$next_k/g" $0
echo $k
$ ./test.sh; ./test.sh ; ./test.sh
1.3
1.4
1.5
$ cat test.sh
#! /bin/bash
k=1.6
next_k=$(echo "$k + 0.1" | bc -l)
sed -i "s/$k/$next_k/g" $0
echo $k