linux - 切换用户并输出变量内容

标签 linux bash solaris switch-user

我正在写一个 bash 脚本,想切换到另一个用户,cd 到用户 bash_profile 中 MYDIR 指定的目录并列出内容。

目前我有:

read username
su - app${username} -c ls $MYDIR

输出什么也没有,我的第一个猜测是从用户配置文件中读取 $MYDIR 是一个问题,因为手动执行它可以正常工作,例如

#su - appadmin
#ls $MYDIR

最佳答案

需要引用要执行的命令。

目前 shell 正在用调用者环境中的值替换 $MYDIR。此外 -c 只传递下一个要执行的参数,即 ls 没有 $MYDIR - 你需要在整个远程命令周围加上引号:

su - app${username} -c 'ls $MYDIR'

关于linux - 切换用户并输出变量内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698145/

相关文章:

linux - bash 文件的符号链接(symbolic link)

c++ - OpenNI: "Open failed: Device is in safe mode. Cannot start any stream!"

Node.js 与 Git Bash (MINGW64)

Bash脚本openssl加密,md5 in pass问题

c - 在 Solaris 上使用 Perl,如何导入 C (.so) 库?

c++ - (C++) Gtk-WARNING ** : Could not find signal handler'. 是否使用 -rdynamic 进行编译?

linux - FTP、SFTP、HDFS、NTFS、EXT2、EXT3

php - 如何以编程方式启动/停止 FFMPEG 流转码

c - AIX 5.3 与 Solaris 5.10 - C strcat 实现

linux - 是否有与 Solaris pmap 等效的 AIX/Win 命令?