我想用sudo运行一个简单的for循环命令,但它不起作用:
sudo -i -u user for i in /dir; do echo $i; done
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
-bash: syntax error near unexpected token `do'
Run Code Online (Sandbox Code Playgroud)
可能是我忽略的一件非常简单的事情.有帮助吗?
我需要将表的内容从一个数据库复制到另一个数据库,并使用相同的表,该表当前为空.
我计划从旧表中转储表数据,然后将其导入新数据库中的空表.但是,我遇到了一些我不理解使用pg_dump的行为.
我尝试使用以下命令将表数据转储到文件:
pg_dump -a -t '"my_table"' my_database > /tmp/my_table.sql
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我只得到8条记录,如果我像这样查看表格,表格中有超过1000条记录:
SELECT * FROM my_table;
Run Code Online (Sandbox Code Playgroud)
所以,我尝试使用COPY命令生成.csv文件,我看到类似的行为:
COPY my_table TO '/tmp/my_table.csv' WITH CSV HEADER;
Run Code Online (Sandbox Code Playgroud)
我得到与pg_dump相同的8条记录.但是,有:
COPY (SELECT * FROM my_table) TO '/tmp/my_table.csv' WITH CSV HEADER;
Run Code Online (Sandbox Code Playgroud)
我得到了所有1266条记录.
我会假设这些命令都应该返回相同的数据,但显然,我错了.有什么不同?
刚刚开始使用Android开发和Java.所以,这是我正在使用的代码:
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
public class HelloAndroidActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
这里声明onCreate()方法的目的是什么:
public void onCreate(Bundle savedInstanceState) {
Run Code Online (Sandbox Code Playgroud)
然后使用super在这里调用onCreate()方法:
super.onCreate(savedInstanceState);
Run Code Online (Sandbox Code Playgroud)
这是不是意味着你从Activity类而不是HelloAndroidActivity类调用onCreate()方法?如果是这样,在HelloAndroidActivity类中声明具有相同名称的方法有什么意义?
谢谢你的任何澄清.
我有一个 Selenium WebDriver 测试,它在关闭模式窗口然后等待元素后失败。具体来说,它无法在FluentWait
调用中查找元素。我尝试了各种不同的设置等待的方法,但都没有奏效。这是我认为应该起作用的:
失败的测试代码:
driver.findElement(By.className("dismiss")).click(); // this dismisses a modal window
driver.switchTo().defaultContent();
FluentWait<WebDriver> fluentWait = new FluentWait<WebDriver>(driver)
.withTimeout(30, TimeUnit.SECONDS)
.pollingEvery(500, TimeUnit.MILLISECONDS)
.ignoring(NoSuchElementException.class);
fluentWait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.className("next"))));
driver.findElement(By.className("next")).click();
Run Code Online (Sandbox Code Playgroud)
这里失败发生在等待调用中寻找元素:
org.openqa.selenium.NoSuchElementException:无法定位元素:{"method":"class name","selector":"next"} 命令持续时间或超时:1.33 秒有关此错误的文档,请访问:http:// /seleniumhq.org/exceptions/no_such_element.html构建信息:版本:'2.41.0',修订:'3192d8a',时间:'2014-03-27 17:17:32' 系统信息:主机:'7rzrgv1.bsolver.local',IP:'10.0.3.103 ', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-431.el6.x86_64', java.version: '1.7.0_60' Session ID: 56c5a752-68fd- 4cdb-ae57-2fcefc930f6f 驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handlesAlerts=true, browserConnectionEnabled true,webStorageEnabled=true,nativeEvents=false,rotatable=false,locationContextEnabled=true,applicationCacheEnabled=true,takesScreenshot=true,version=24.6.0}]
如果我fluentWait.until
用 a替换呼叫Thread.sleep(5000)
,则click()
每次都有效。
一个有趣的注意事项……这只发生在在 Xvfb 上运行 Firefox 的无头机器上运行测试时。当存在实际的 GUI 时不会发生这种情况。
所以,有几个问题:
为什么FluentWait
不忽略 …