Articles of bash

sed php.ini memory_limit

以下工作很好: phpmemory_limit=256M #or what ever you want it set to sed -i 's/memory_limit = 16M/memory_limit = '${phpmemory_limit}'/' /etc/php5/apache2/php.ini 如果memory_limit设置为16M,但是我发现在某些发行版中它不默认为16M,而是默认为32M。 所以我的问题是如何让我的SED帐户,并取代任何数字是$ {phpmemory_limit}?

cpio VS tar和cp

我刚刚了解到cpio有三种模式:复制,复制和传递。 我想知道在拷贝和copy-in模式下cpio比tar有什么优点和缺点。 何时使用cpio以及何时使用tar? 传递模式下的cpio与cp类似的问题 感谢致敬!

逃脱! 在wget的密码参数中

我试图执行这样的事情: wget –user=foo –password=bar! url 那! 在密码是造成问题。 我已经尝试用\来转义它,如 –password=bar\! 我试过封装在单引号和双引号中。 我把密码放在一个单独的文件中,然后尝试 –password = cat pass.txt 每一次,我得到一个403禁止。 使用-d,我看到SSL握手成功。 在Windows命令行上,该命令起作用。 我的假设是我需要逃避! 不同,但我不知道怎么回事。

vim的GNU屏幕清理,less,等等。 出口

我很新的屏幕,但根据我在互联网上find的各种build议configuration我的〜/ .screenrc文件。 我有一个问题,虽然我相信可以很容易解决; 我认为这是一个termcap设置..? 在独立bash(Mac OSX 10.6)中使用less,vim,top或其他程序后,在退出这些程序时,terminal的缓冲区将被清除,当前命令行上面的行将成为我input的上一个命令。 但是,屏幕上,当我退出这些程序时,屏幕缓冲区将不会清除/刷新,我仍然可以看到我正在看的内部程序..有道理?? 例如独立的bash(无屏幕): – hostname:~ auser$ vim afile [do stuff in file, then :q to exit] 退出后,我会看到: – hostname:~ auser$ vim afile hostname:~ auser$ 但在屏幕上: – bash-3.2$ vim afile [do stuff in file, then :q to exit] 退出后,我会看到整个屏幕: – ~ # [Empty lines in vim are represented by these […]

脚本在所有文件夹上运行chown并将所有者设置为文件夹名称减去结尾/

一些numpty运行chown -R username 。 在我们的networking服务器上的/ home文件夹,认为他在所需的文件夹。 不用说服务器扔了很多wobbelys。 我们有超过200个网站,我不想单独将它们全部播放出来,所以我正在尝试制作一个脚本,将所有文件夹的所有者更改为文件夹名称,而不会跟踪/。 这是我迄今为止,一旦我可以删除/它会没事的,但我也想检查文件是否包含一个。 在里面,如果没有,那么运行命令,否则进入下一个。 #!/bin/bash for f in * do test=$f; #manipluate the test variable chown -R $test $f done 任何帮助将是伟大的! 提前致谢!

停止bash选项卡完成从思维我想cd到.svn目录

我有一个在颠覆的文件夹结构。 有一大堆顶层目录只有一个子文件夹。 (例如src/com/example )。 通常,当我想要cd到示例文件夹时,我可以去cd src/<tab><tab>因为bash将填充文件夹名称,因为每个文件夹只有一个文件夹。 但是由于这个目录结构现在是svn,所以每个目录都有一个.svn目录,这意味着我不能快速地cd。 如果我尝试cd src/<tab>它build议使用.svn和com ,而不是自动填入com 。 有没有什么办法告诉bash永远不要build议cd'ing到.svn文件夹,以便如果我选项卡完成它不会包括.svn ?

脚本中rsync的用户名和密码

我正在创build一个cron作业来保持两个同步。 我正在使用rsync。 我正在运行一个rsync 守护进程 。 我阅读手册,它说: RSYNC_PASSWORD Setting RSYNC_PASSWORD to the required password allows you to run authenticated rsync connections to an rsync daemon without user intervention. Note that this does not supply a password to a shell transport such as ssh. USER or LOGNAME The USER or LOGNAME environment variables are used to determine […]

Bash:当一个命令作为parameter passing给一个函数时,引号被剥离

我正在尝试为我的脚本实现一种干运行机制,并且当一个命令作为parameter passing给一个函数并导致意外的行为时,面临引用问题被剥离。 dry_run () { echo "$@" #printf '%q ' "$@" if [ "$DRY_RUN" ]; then return 0 fi "$@" } email_admin() { echo " Emailing admin" dry_run su – $target_username -c "cd $GIT_WORK_TREE && git log -1 -p|mail -s '$mail_subject' $admin_email" echo " Emailed" } 输出是: su – webuser1 -c cd /home/webuser1/public_html && git […]

Bash Extended Globbing给出了语法错误

任何人都可以解释一下 $ bash $ shopt -s extglob $ ls *.(txt|doc) bash: syntax error near unexpected token `(' $ shopt extglob extglob on 这是一个debian压缩安装。 我期待extglob会将括号解释为一个组的开始。 谢谢, 保罗

当通过ssh传递命令时,单引号和双引号之间的区别

当我通过ssh向远程服务器发送命令时,有什么区别: ssh [email protected] 'foo' 和 ssh [email protected] "foo" 我没有传递任何variables,并且在远程运行命令时得到了不同的结果。