Ubuntu Linux - Maverick - 是否可以在命令行中找到用户名/文件路径并将它们作为参数传递?

我正在尝试在插入USB记忆棒时创建用于运行程序的便携式解决方案。但是,我可以让它运行的唯一方法是使用sudo并从我的用户帐户运行程序,如下所示:
/usr/bin/sudo -u *username* /usr/local/bin/*program*
但是,我希望这个解决方案是可移植的,是否存在一个命令,所以我总能找到用户名而不必输入它?我尝试使用whoami而它根本没用。 此外,找到指定程序的路径也是一个奖励。让我们称之为helloworld.jar **注意:我知道如何从命令行中找到这两个东西,但我正在努力解决如何将它们发现的命令行参数。 提前感谢您的帮助     
已邀请:
尝试运行这样的东西:
echo I am $(whoami) and the program named ls is in $(which ls).
这就是你用bash中的输出替换命令的方法。     
第一部分:
/usr/bin/sudo -u `echo $USERNAME` /usr/local/bin/program
不确定“找到路径”,但如果您知道如何从命令行执行此操作,请使用“技巧”。 更新:我可能没有完全理解您的问题,但还要记住您可以在.bashrc(等)中设置环境变量,并将更多目录添加到PATH中。     
注意反向引号,告诉shell用它的输出替换它们的内容
/usr/bin/sudo -u `whoami` `which program`
当然程序需要在你的道路上。     

要回复问题请先登录注册