本文介绍了我可以在bash脚本中间运行'su'吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以在脚本中间更改/su用户吗?

Can I change/su user in the middle of a script?

if [ "$user" == "" ]; then
  echo "Enter the table name";
  read user
fi

gunzip *
chown postgres *
su postgres 
dropdb $user
psql -c "create database $user with encoding 'unicode';" -U dbname template1
psql -d $user -f *.sql

推荐答案

可以,但是bash不会将后续命令作为postgres运行.而是:

You can, but bash won't run the subsequent commands as postgres. Instead, do:

su postgres -c 'dropdb $user'

-c 标志以用户身份运行命令(请参见 man su ).

The -c flag runs a command as the user (see man su).

这篇关于我可以在bash脚本中间运行'su'吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 15:13