我希望为PATH
变量添加路径。
我已使用$PATH
将t1
变量复制到名为echo
的文件中
echo $PATH > t1
然后我编辑了t1
nano t1
我将路径/usr/local/batch:
添加到了路径列表的最前面,并保存了t1。
现在我想将t1保存到$ PATH中,然后覆盖$ PATH。例如
cat t1 > $PATH
(例如),但是我收到“歧义重定向”警告。
当我在该论坛上阅读有关如何执行此操作的示例时,我知道它是有效的,但是如果我可以再次找到答案,该死的。
答案 0 :(得分:1)
这是在UNIX / Linux系统上扩展PATH
变量的更通用的方法:
export PATH=/this/is/the/new/directory:$PATH
祝你好运
答案 1 :(得分:0)
如果您真的想从文件中读取PATH:
export PATH=`cat t1`
答案 2 :(得分:0)
如果要使用编辑器来编辑变量,而无需使用该编辑器,则可以将其从moreutils传递到vipe
实用程序,然后将其读回。
PATH=$(printf '%s\n' "$PATH"|EDITOR=nano vipe)
(
为了专门编辑PATH
,我有一个函数也可以将:
转换为换行符并返回:
path_edit ()
{
PATH="$(printf '%s' "$PATH" |tr : '\n'|vipe | tr '\n' : |sed 's/:$//')"
}
)
如果您没有vipe
,可以将其替换为:
vipe(){ sh -euc 't=; trap "rm -f $t" EXIT INT TERM;
t=$(mktemp); cat>$t; ${EDITOR:-vi} $t <>/dev/tty>&0; cat $t'; }
答案 3 :(得分:-2)
由于“>”将覆盖文件的内容,因此可以尝试“ >>”。