【发布时间】:2012-01-10 18:38:10
【问题描述】:
是否可以将用户上次输入的变量值保存在 bash 脚本本身中,以便下次再次执行时重用该值?
例如:
#!/bin/bash
if [ -d "/opt/test" ]; then
echo "Enter path:"
read path
p=$path
else
.....
........
fi
上面的脚本只是我想给出的一个示例(可能是错误的),如果我想将p 的值永久保存在脚本本身中以便我以后在某个地方使用它,是否可以即使重新执行该脚本,该脚本仍然存在?
编辑:
我已经在使用sed 在执行时覆盖脚本中的行,这种方法有效,但这并不是所说的好习惯。替换以下答案中所述的同一文件中的行比我使用的要好得多,如下所示:
...
....
PATH=""; #This is line no 7
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )";
name="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")";
...
if [ condition ]
fi
path=$path
sed -i '7s|.*|PATH='$path';|' $DIR/$name;
【问题讨论】:
标签: bash variables ubuntu global-variables