例如,我想删除除了.tar文件之外的目录中的所有文件。 我可以做这样的事情: find . -maxdepth 0 | grep -v '.tar$' | xargs rm -f 但有没有办法只是使用rm和shell模式匹配 ? 如果无法使用香草sh ,可以使用bash或其他常用的shell或扩展选项指定它。 我发现一个类似的问题,关于避免目录和子目录与查找 ,而不是壳模式。
我有一个糟糕的无限循环程序,我想在命令行运行 – 但不是永远。 我想使用ulimit,所以如果它永远循环,它会被切断。 我尝试着: $> bash -c "ulimit -t 1; java myinfloopprogram" 但是就像没有任何事情发生。 怎么回事,我的命令行命令是错误的? myinfloopprogram运行得很好。 我正在运行一个terminal,版本是Ubuntu 9.10。
我有一个简单的脚本在FreeBSD机器上运行,代码如下: #!/bin/sh `sed -i .bak '\:#start 172.0.0.3:,\:#end 172.0.0.3:d' /usr/local/etc/racoon/racoon.conf` echo $? 它应该删除两个模式之间的文本块。 问题是,如果我直接从shell运行sed命令,它会工作,如果我运行脚本的返回码是0。 为什么?
我正在尝试将我的一些shell脚本的输出logging到一个文件中,并且我希望每行预置的时间戳。 从我所了解的情况来看,这就是logger(1)的logger(1) ,但我不希望输出到/ var / log / messages,而且我也看不出使用logger的可能性。 我正在使用Debian。 做这个的最好方式是什么? -Oliver
当我用rootlogin并运行“mkdir test”时,系统显示“设备上没有剩余空间”。 但是,如果我与其他用户login,它会很好。 [/root]df -h Filesystem Size Used Avail Capacity Mounted on /dev/da0s1a 496M 411M 45M 90% / devfs 1.0K 1.0K 0B 100% /dev /dev/da0s1e 496M 12K 456M 0% /tmp /dev/da0s1f 57G 878M 51G 2% /usr /dev/da0s1d 4.3G 215M 3.8G 5% /var [/root]df -i Filesystem 1K-blocks Used Avail Capacity iused ifree %iused Mounted on /dev/da0s1a […]
我有一台服务器与Ubuntu 9.10的机器。 我试图把一个可执行文件,这是最新的Flashplayer(debugging版)。 不知何故文件显示为可用,但启动时,控制台指示文件不存在: rodrigo@ns360773:~/t_fplayer$ pwd /home/rodrigo/t_fplayer rodrigo@ns360773:~/t_fplayer$ ls -lh total 12M -rwxr-xr-x 1 rodrigo rodrigo 12M 2011-07-09 11:35 flashplayerdebugger rodrigo@ns360773:~/t_fplayer$ ./flashplayerdebugger -bash: ./flashplayerdebugger: No such file or directory rodrigo@ns360773:~/t_fplayer$ ldd flashplayerdebugger not a dynamic executable 在本地机器上使用相同的可执行文件(通过ssh复制)工作正常。 任何想法是怎么回事? 什么可以解释这种行为? 任何想法如何解决这个问题?
(我问过关于zsh的这个问题 ,但是我也使用了bash,并且在那里也会发现它有用,因为bash比zsh拥有更多的用户,所以我猜测其他许多人也是如此。 我想在bash上设置命令完成来显示主机名称 ssh [TAB] 从我的.ssh / config文件(最好从known_hosts和/ etc / hosts以及其他任何有意义的地方)中提取名称,然后显示一个列表。 它目前做了一些,但是 它根本不使用.ssh / config 它首先需要用户名,即使使用.ssh / config也不需要input用户名 它提供了多个列表(可能来自known_hosts,另一个来自/ etc / hosts,但我没有证实) 所以我想在inputssh [TAB]之后在(最好是单个)列表中包含已知的用户名和已知的主机名, (我在Google之前来到这里,因为1)会导致答案被存储在这里,2)它可能更有效率。 如果没有人回答,我会寻找答案。)
我正在寻找一些书籍或在线的pdf或教程高级Linux系统pipe理,他们总是喜欢与他们保持联系。 我的意思是有一些先进的,准备使用的脚本,把他们的Unix知识提高到一个新的水平。 虽然它是完美的实践,书也在这方面发挥着重要的作用。
从外观上看,修正ksh使历史更改不可能是相当容易的。 我已经看到所有的build议,使HIST *环境variables只读,并使用chattr使历史文件追加(与chattr + .sh_history)。 然而,Bash有两件事似乎使得不可能防止历史的改变:历史命令(带有历史-c和历史-d)以及历史文件与实际运行历史(保存在存储器中)的分离, 。 我也在这里阅读serverfault,如果你杀了当前的shell,那么历史将不会被写出来。 有什么办法可以防止Bash的历史变更? 我希望能够保存所有的用户命令,而用户无法从历史中删除任何东西。 Korn贝壳的任何进一步提示也是受欢迎的。 (我知道ksh-93审计…不知道我们是否可以使用它。)
有没有一种优雅的方式来testingBASH脚本中的IP地址? 我可以做ifconfig和使用sed / awk来缩小IP,但我认为有一个更简单的解决scheme。 我的应用程序基本上是使用SSH / SCP脚本,当我在我的内部网,而我没有。 所以,我想要这种types的stream程 if IP=192.168.1.1 then do this else then do that