我需要编写一个bash脚本来作为另一个用户执行某些操作然后返回初始用户...
假设我以root身份运行以下命令:
#!/bin/bash
USER=zaraza
su - "${USER}"
#do some stuff as zaraza
________ #here I should logout zaraza
#continue doing things as root
Run Code Online (Sandbox Code Playgroud)
在控制台中我应该写"退出",但在bash中是一个关键字,它退出脚本...
提前致谢,
我在一些groovy代码中看到了这个:
trip.id?.encodeAsHTML()
Run Code Online (Sandbox Code Playgroud)
使用或不使用"id?"有什么区别?
我如何配置这样的东西:
<configuration>
<!-- file and file-debug appenders definitions using RollingFileAppender -->
<root level="warn">
<appender-ref ref="file" />
<appender-ref level=debug ref="file-debug" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我知道这个例子是无效的,但它只是为了展示我想要实现的目标。我需要将调试输出保存到另一个 appender 中。
我知道这已经讨论了很多次.我只是无法理解这项工作或我的错误在哪里.
我想给你一个简化的例子是向你展示我正在尝试做什么以及我正在做什么假设的最佳方式......
我有一个名称的Product类.该名称是一个惰性的String属性.
我的DAO:
public abstract class HibernateProductDAO extends HibernateDaoSupport implements ProductDAO
{
public List getAll()
{
return this.getHibernateTemplate().find("from " + this.getDomainClass().getSimpleName());
}
}
Run Code Online (Sandbox Code Playgroud)
我的服务界面:
public interface ProductService {
//This methods are Transactional, but same exception error is thrown if there weren't
@Transactional
public Product getProduct();
@Transactional
public String getName(Product tp);
}
Run Code Online (Sandbox Code Playgroud)
我的服务实施:
public class ProductServiceImpl implements ProductService {
private ProductDAO productDAO;
public Product getProduct() {
List ps = this.productDAO.getAll();
return (Product) ps.get(0);
}
public String getName(Product p){
return p.getName(); …
Run Code Online (Sandbox Code Playgroud) bash ×2
grails ×1
groovy ×1
hibernate ×1
interceptor ×1
lazy-loading ×1
logback ×1
logging ×1
scripting ×1
spring ×1