这应该是相当简单的,但我不知道我错过了什么。 我想recursion删除空的目录,并获得输出的东西被删除,这个命令肯定工作,但我不能打印详细的动作-excec。 while [ -n "$(find . -depth -type d -empty -exec rm -v -rf {} +)" ]; do :; done 通过recursion我的意思是,我想继续删除空文件夹,直到没有其他空文件夹。 $ tree . . ├── empty │ └── empty │ └── empty └── non-emty └── ko 这个项目只会删除树中的一个空文件夹 $ find . -depth -type d -empty -exec rmdir -v {} + rmdir: removing directory, `./empty/empty'
我有一个脚本,发出了很多的命令。 我希望将这个脚本(错误和stdout)的输出保存到一个文件中,但是我也希望将执行的实际命令保存到文件中(如bash -x所示) 我试过了: bash -x script.sh> log.txt 无济于事 任何帮助表示赞赏。 谢谢
当使用bash脚本执行远程MySQL查询时,如何知道命令是否成功。 本地它将返回一个退出代码。 但是,远程似乎发送查询,如果它能够连接到远程MySQL数据库,它将视为成功。 有什么方法可以在远程执行时查看输出,例如在本地执行。 这是脚本: #!/bin/bash RemoveID=`mysql -u root -proot -h 192.168.1.56 -e "delete from table where ID = '$1'"`
美好的一天,我整天都读过类似的话题,但很遗憾找不到适合自己情况的答案。 所以这就是我想要做的。 我有很多函数的shell脚本,其中一个函数假设调用ssh-agent: sh_agent_run () { case "$(pidof ssh-agent | wc -w)" in 0) echo "SSH agent is not running. Startting SSH agent." eval `ssh-agent -s` ssh-add ${ssh_key} ;; 1) echo "SSH agent is running. Nothing to do." ;; *) echo "Too much instances of SSH agent is running. Stopping SSH agent instances and running […]
我正在screen窗口中使用watch来持续执行每两秒处理一次数据的PHP任务。 因此,我可以注销运行的服务器,并可以签入。 我不想中途停止任务,因为如果发生这种情况,需要手动清理,但我希望能够重新启动服务器。 有没有办法停止运行之间,并确保它还没有开始任务的另一个副本? 即像ctrl + c的东西,但如果任务在后台运行,等待。 或者,有没有其他的工作stream程可以实现这一点? 我不能使用cron作业,因为它需要每两秒运行一次,但不能同时运行。 另请注意,根据数据对象的大小,一次脚本运行需要10秒到30分钟。 (它每次运行处理一个对象。)这就是为什么在两次运行之间停止监视是不太可能的。
我正在考虑编写一个连接到服务器(ssh)的自动脚本,从中复制文件。 在服务器上执行脚本并断开连接。 是否有可能从本地机器执行代码(如执行远程脚本的代码)? 我从来没有尝试过,也不知道如何去做。 我知道如何使用scp的大部分,所以复制不是一个问题 做完1后,我想知道如何等待远程脚本完成,也许偶尔执行脚本,但断开连接,并使脚本在服务器上运行。 我怎么做? (这应该是在一个单独的问题)
有可能保护免受危害? 我不希望与root不同的用户可以用一个forkbomb来杀死我的机器
我用useradd来创build一个名为oracle的用户 之后,我使用su oracle,我在terminal只是一个$ 你知道为什么terminal不是像oracle @ laptophp:〜$,只是一个$?
这有点尴尬的问,但我只是用opensshbuild立一个Ubuntu服务器。 如果该用户不是所有者,也不是该组的一部分,是否可以创build一个只读访问chmod ** 7文件的用户? 换句话说,具有** 7权限的文件在以该用户身份login时显示为** 4,而在以其他用户身份login时显示为** 7。
我在Mac OSX的狮子,并以某种方式安装MySQL和Postgres我的.bash_profile上的导出PATH行得到了搞砸或删除。 所以我在这个空白的.bash_profile中添加了: export PATH=/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin 但是我不能得到任何bash命令来执行: /usr/bin $ ls -bash: ls: command not found /usr/bin $ /bin/echo $PATH /usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin 我的.bashrc可能但不相关,但在以下情况: [[ -s "/Users/jer/.rvm/scripts/rvm" ]] && source "/Users/jer/.rvm/scripts/rvm" function _git_prompt() { local git_status="`git status -unormal 2>&1`" if ! [[ "$git_status" =~ Not\ a\ git\ repo ]]; then if [[ "$git_status" =~ nothing\ to\ commit ]]; then […]