我正在寻找一种方法来find我所知道的将是一个独特的文件,然后切换到包含该文件的目录。 有些东西是: find . -name 'Subscription.java' | xargs cd 要么: find . -name 'Subscription.java' -exec cd {} \; 我知道这是行不通的,因为它都试图提供包含该文件的整个绝对path,也因为xargs不能执行任何内置的shell命令,但是您已经完成了我想完成的任务。
我正在编写一个Java应用程序来远程closures我的Linux机器。 桌面应用程序坐在并等待命令发送给它。 我曾尝试使用“shutdown -h”,但这需要sudo权限,不是一个选项。 然后,我find了一种方法来closures没有sudo使用下面的dbus发送解决scheme: dbus-send –print-reply –system –dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown 这工作正常,但我想弄清楚,使用dbus发送,如果有可能做一个类似于“关机3600”,这将在1小时closures计算机的定时关机? 干杯 EEF
更新/解决scheme:答案如下, 来自Zack 。 问题的确是DOS脚本文件本身的结尾,clenotes.cmd。 因为我用这么多的文件,我删除了整个目录,然后从这里重新下载一个新的副本。 我在文件上运行了Zack的perl脚本,就像这样: perl -pi.bak -e 's/[ \t\r]+$//' clenotes.cmd 然后,我稍微编辑了命令执行,以便最终的脚本变成: CWD=`dirname $0` JYTHON_HOME="$CWD" LIB_DIR="$JYTHON_HOME/lib" NOTES_HOME="/opt/ibm/lotus/notes/" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NOTES_HOME java -cp "$LIB_DIR" -jar "$LIB_DIR/jython.jar" -Djython.home="$CWD/" -Dpython.path="$LIB_DIR:$CWD/ext" -Djava.library.path="$NOTES_HOME" "$LIB_DIR/clenotes/cletes/clenotes.py" "$@" 就是这样 – 一切工作。 不需要编辑clenotes.py或clenotes.cfg。 非常感谢坚持这个问题,我想这个问题很简单。 更新:我削减了一些代码,使其更具可读性,并从post中删除不必要的信息。 我试图让Lotus Notes命令行在 Linux上工作,并且在python文件中遇到与sys.argv [1:]相关的问题。 Windows脚本在这里: @echo off @setlocal set CWD=%~dp0 set JYTHON_HOME=%CWD% set LIB_DIR=%JYTHON_HOME%/lib java -cp %LIB_DIR% -jar %LIB_DIR%/jython.jar […]
我想在Bash中用sed做一些简单的stringreplace。 我是Ubuntu 10.10。 只要看下面的代码,这是不言自明的: name="A%20Google.." echo $name|sed 's/\%20/_/'|sed 's/\.+/_/' 我想获得A_Google_但获得A_Google.. sed 's/\.+/_/'部分显然是错误的。 顺便说一句, sed 's/\%20/_/'和sed 's/%20/_/'都可以。 哪个更好?
我有一个文件夹命名为以下结构的photos : 00001/photo.jpg 00002/photo.jpg 00003/photo.jpg 我要: 将该文件夹(称为photo.jpg )中的文件重命名为父文件夹。 将其移动一个文件夹。 删除父文件夹。 所以photos文件夹会是这样的: 00001.jpg 00002.jpg 00003.jpg 我怎样才能在Linuxterminal? 注意。 photos有100000多个这样的文件夹。
当我键入echo $0我看到- 我期望看到bash或一些文件名,如果我只是得到一个"-" ,意味着什么?
我想要设置一个别名alias open=xdg-open这个将取代正常的linux open命令,而这本身就是openvt的符号链接。 我已经运行一个bash shell的debian wheezy安装。 如果我这样做,有没有人看到有可能的问题?
我在网上search的方式是从一个位置解压一个战争文件到另外一个,到目前为止没有什么令人满意的。 我使用这个命令 jar -xvf mysite.war -C /usr/local/tomcat/webapps/mysite/ 这不是工作。这个: jar -xvf mysite.war /usr/local/tomcat/webapps/mysite/ 是不是抛出任何错误,但仍然没有任何想法?
我正在使用Ubuntu的NATTY。 我使用以下命令从命令行运行mysqld: mysqld -ndbcluster –console -umysql 我得到以下几点: 120314 0:09:49 [Warning] option 'new': boolean value 'dbcluster' wasn't recognized. Set to OFF. 120314 0:09:49 [Note] Plugin 'ndbcluster' is disabled. 120314 0:09:49 [Note] Plugin 'FEDERATED' is disabled. 120314 0:09:50 InnoDB: The InnoDB memory heap is disabled 120314 0:09:50 InnoDB: Mutexes and rw_locks use GCC atomic builtins 120314 0:09:50 […]
所以我想通过pipe道命令的输出到| less -S来让我的自定义bash命令在terminal水平滚动 | less -S 但是,如果我这样做,一旦你退出较less,命令的输出将不会停留在命令行历史logging 有没有办法configuration较less,以保持命令的输出在历史中,当你退出较less? 例如。 如果你看看git diff ,你可以执行水平滚动,然后退出,但输出仍然停留在历史中,然后你可以input新的命令…我基本上想模仿这个我的自定义bash命令。 同样在git diff它会在现场执行水平滚动(即不使用新的屏幕),命令行历史logging仍然可见,而对于less则可以在自己的屏幕中执行,而且您将无法看到命令线条的历史,而“欠”。 有没有可能模仿这个git diff-like机制呢? 如果还有其他的解决scheme,可以随便把它扔出去 更新的问题 所以假设我这样做: cat loremipsum | less -FRSX Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam sed 然后我右键两次,使它向右滚动两次。 然后我按q退出。 屏幕上剩余的输出将是: cat loremipsum | less -FRSX Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam sed ESCOC dictum diam. […]