我有一个用java编写的程序,它使用第0个参数作为文件位置,如下所示
File f = new File(args[0]);
因此,当我使用windows批处理(.bat)文件执行它时,它可以正常工作。但是,当我在linux中使用linux shell文件(.sh)执行相同的命令时,我得到的是ArrayIndexOutOfBoundsException。
WINDOWS批处理文件:
@echo off
for /f %%i in ("%0") do set scriptpath=%%~dpi
set cp=%scriptpath%/../lib/*.jar;
java -cla
我想从linux中的.sql文件中调用.sh文件。.sql文件将包含对MySQL数据库的查询。
我能够通过在linux中运行.sql文件来调用.sh文件,但是sql查询不起作用。下面是我的语法。select语句在错误下面抛出。
./sample.sql: line 4: syntax error near unexpected token `from'
sample.sh文件:
echo "this is shellscript calling sql"
./sample.sql
sample.sql文件:
set pages 999
set lines 999
set
名为animals的原始文件如下所示:
dog
cat
dolphin
cat
这个命令通过将sed '/dog/i\ Linux Scripting' animals放在Linux Scripting之前来工作,我得到了以下内容:
Linux Scripting
dog
cat
dolphin
cat
然而,如果我做了动物头之后,文件是不变的。
$ head animals
dog
cat
dolphin
cat
如何以覆盖现有文件的方式执行此操作?
注意:用于多个文件,我希望animals与*.txt保持一致
我刚开始使用CMake。我在Debian主机上为运行嵌入式Linux的设备使用CMake进行交叉编译。下面是我的CMake工具链文件:
INCLUDE(CMakeForceCompiler)
SET(CMAKE_SYSTEM_NAME Linux) # this one is important
SET(CMAKE_SYSTEM_VERSION 1) # this one not so much
# this is the location of the amd64 toolchain targeting the device
SET(CMAKE_C_COMPILER /
我尝试了以下代码:
String url = "smb://remotehost/SharedPath/Comp/NG/";
NtlmPasswordAuthentication auth2 = new
NtlmPasswordAuthentication(null,"user", "password");
SmbFile dir = new SmbFile(url, auth);
for (SmbFile f : dir.listFiles())
{
if(f.getName().contains("Test")) //s
我正在使用android-ndk在android模拟器中运行irrlicht android示例项目,当我尝试构建该示例时,出现了以下错误:
/Android/android-ndk-r9/ndk-build V=1 NDK_TOOLCHAIN=arm-2010q1
/Android/android-ndk-r9/build/core/init.mk:555: *** Android NDK: Aborting . Stop.
Android NDK: NDK_TOOLCHAIN is defined to the unsupported value arm-2010q1
我已经从Linux上的svn下载了一些软件的源代码,并想构建它:
$ ./configure
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory
字符^M是\r回车字符。当我将文件的行尾改为Linux格式时,它就开始工作了,但是有很多这样的文件,手动很难做到。如何将目录及其子目录中所有文件的行尾改为Linux格式?