Em zsh ou yash .
export -p myvariable myvariable2
funcionaria como seria de esperar.
Caso contrário, em bash , você ainda pode fazer:
for var in myvariable myvariable2; do
printf 'export %s=%q\n' "$var" "${!var}"
done
POSIXly, você pode fazer as citações manualmente usando awk :
awk -v q="'" '
function escape(v) {
gsub(q, q "\" q q, v)
return q v q
}
BEGIN {
for (i = 1; i < ARGC; i++)
print "export " ARGV[i] "=" escape(ENVIRON[ARGV[i]])
}' myvariable myvariable2
Por diversão, uma solução hacky que funciona em alguns shells ( bash , zsh , mksh , ksh93 , não yash nem dash ):
(PS4=; set -x; export "myvariable=$myvariable") 2>&1