Tag: bash

如何在Linux中循环目录?

我在Linux上使用bash编写脚本,需要浏览给定目录中的所有子目录名称。 我如何循环这些目录(并跳过常规文件)? 例如: 给定的目录是/tmp/ 它有以下子目录: /tmp/A, /tmp/B, /tmp/C 我想检索A,B,C

在bash shell脚本(在Unix中)重新加载.profile?

我是bash shell脚本的新手,遇到了一个挑战。 我知道我可以重新加载我的“.profile”文件,只是做: . .profile 但我试图执行相同的一个bash脚本,我正在写,它只是不工作。 有任何想法吗? 还有什么我可以提供澄清? 谢谢

IFS = $'\ n'的确切含义是什么?

如果以下示例将IFS环境variables设置为换行符… IFS=$'\n' 美元符号意味着什么 ? 它在这个特定的情况下做了什么? 我在哪里可以阅读更多关于这个特定的用法(Google不允许在search中使用特殊字符,否则我不知道要寻找什么)? 我知道IFS环境variables是什么, \n字符是什么(换行符),但是为什么不使用下面的forms: IFS="\n" (这不起作用)? 例如,如果我想循环遍历一个文件的每一行,并想要使用for循环,我可以这样做: for line in (< /path/to/file); do echo "Line: $line" done 但是,除非IFS设置为换行符,否则这将无法正常工作。 要做到这一点,我必须这样做: OLDIFS=$IFS IFS=$'\n' for line in (< /path/to/file); do echo "Line: $line" done IFS=$OLDIFS 注:我不需要另一种方法来做同样的事情,我已经知道很多其他的方法了…我只是对这个$'\n'很好奇,并想知道有没有人能给我一个解释。

在Linux上使用bash获取昨天的date,DST安全

我有一个在Linux上运行的shell脚本,并使用此调用以YYYY-MM-DD格式获取昨天的date: date -d "1 day ago" '+%Y-%m-%d' 它大部分时间工作,但是当脚本昨天早上在2013-03-11 0:35 CDT运行时,它返回"2013-03-09"而不是"2013-03-10" 。 大概是夏令时(从昨天开始)是怪罪。 我猜"1 day ago"的实施方式是2​​4小时减24小时, 2013-03-11 0:35 CDT是2013-03-09 23:35 CST ,导致"2013-03-09" 。 那么,什么是一个好的DST安全的方式来获取在Linux上bash昨天的date?

发送string到标准input

有没有办法有效地做到这一点在bash中: /my/bash/script < echo 'This string will be sent to stdin.' 我知道,我可以pipe从回声的输出如下所示: echo 'This string will be piped to stdin.' | /my/bash/script

使用wget下载整个目录

我试图下载文件的项目使用wget作为该项目的SVN服务器不再运行,我只能够通过浏览器访问文件。 所有文件的基本URL是相同的 – http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ * 如何使用wget或任何其他工具下载“tzivi”文件夹是根文件夹中的所有文件,并在其下有多个文件和子文件夹(最多2或3个级别)。

如何使用awk打印最后两列

我想要的是最后两列打印。

bash HISTSIZE与HISTFILESIZE?

HISTSIZE与HISTFILESIZE什么HISTFILESIZE ? 它们用于扩展超出默认500行的bash历史logging。 这里和其他论坛似乎缺乏明确的解释,为什么他们都需要。 ( 实施例1 , 实施例2 , 实施例3 )。

在Unix中,如何删除当前目录中的所有内容?

我知道这将删除子目录中的所有内容,并在其下面: rm -rf <subdir-name> 但是,如何删除当前目录中的所有内容以及它下面的所有子目录以及所有这些子目录的内容呢?

如何在我的linux系统下为每个人设置环境variables?

我可以为我的所有用户设置一些通用的设置吗?