bash相关内容
我安装了多个版本的PHP,对于正常开发,我始终使用通过自制软件安装的PHP 5.5.x。 在鱼壳中 which php & php --version => /usr/local/bin/php => PHP 5.5.8 (cli) (built: Jan 16 2014 15:58:25) 路径正确。 我的问题是,当我必须使用Drupal进行开发时,我使用MamP作为捆绑
..
我正在做: sed -e 's|([0-9][0-9])/([0-2][0-9])/([0-9][0-9][0-9][0-9])|3-2-1|g' 但是当我运行该程序时,我收到以下错误: “sed:-e表达式#4,字符62:‘s’命令的RHS上的引用3无效” 推荐答案 此错误通常在未正确转义捕获组时发生。 也就是说,捕获组的括号在您的命令中是转义的,因此您可能尝
..
据我所知,当您使用单引号时,里面的所有内容都被认为是文字。我想要那个做我的替身。但我还想查找包含单引号或双引号的字符串。 例如 sed -i 's/"http://www.fubar.com"/URL_FUBAR/g' 我想用URLFUBAR替换“http://www.fubar.com”。sed应该如何识别我的//或我的双引号? 谢谢您的帮助! 编辑:我可以使用s/"
..
我在Bash脚本中使用Gawk时遇到了一个非常奇怪的问题。 在此脚本中,我使用一个函数进行一些文本处理。即使是非常简单的gawk命令也会返回错误134。 #!/bin/bash testFunc() { log "Before gawk: $?" gawk '{print}' file log "After gawk: $?" } 如果我在控制台中手动运
..
我有一个文件,conda_env.txt,它是保存conda list的标准输出的结果。它具有以下结构。 conda_env.txt # packages in environment at /scratch/hello/anaconda3: # # Name Version Build Channel _ip
..
我正在尝试查找日期为3天或更长时间的所有文件。 find /home/test -name 'test.log.d{4}-d{2}-d{2}.zip' -mtime 3 它没有列出任何内容。它有什么问题? 推荐答案 find /home/test -regextype posix-extended -regex '^.*test.log.[0-9]{4}-[0-9]{2}-[0-
..
我有一个变量,其中包含空格分隔的字符串: line="1 1.50 string" 我想用空格作为分隔符来拆分该字符串,并将结果存储在一个数组中,以便: echo ${arr[0]} echo ${arr[1]} echo ${arr[2]} 输出 1 1.50 string 我在某个地方找到了一个不起作用的解决方案: arr=$(echo ${line})
..
检查if语句中的退出状态以回显特定输出的最佳方式是什么? 我想是 if [ $? -eq 1 ] then echo "blah blah blah" fi 我还遇到的问题是exit语句在if语句之前,这仅仅是因为它必须具有该退出代码。此外,我知道我做错了什么,因为退出显然会退出程序。 推荐答案 运行的每个命令都有退出状态。 该检查正在查看在该行运行之前最近
..
我正在创建一个bash脚本,该脚本将打印复杂参数并将其传递给另一个外部程序。 ./script -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a' 如何打印原始参数: -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a' 使用$@和$*可删除可能
..
我知道如何使用tee将aaa.sh的输出(standard output)写到bbb.out,同时仍然在终端显示: ./aaa.sh | tee bbb.out 我现在如何将standard error写入名为ccc.out的文件,同时仍显示该文件? 推荐答案 我假设您仍然希望在终端上看到STDERR和STDOUT。你可以去找Josh Kelley的答案,但是我发现在后台放一
..
如何在bash脚本中等待该脚本派生的多个子进程完成,然后在任意子进程以代码!=0结束时返回退出代码!=0? 简单脚本: #!/bin/bash for i in `seq 0 9`; do doCalculations $i & done wait 上面的脚本将等待所有10个派生的子进程,但它始终会给出退出状态0(请参见help wait)。如何修改此脚本以使其能够发现派生的子
..
一位同事最近在一次代码审查中声称,在 这样的结构中,[[ ]]结构比[ ]结构更优先 if [ "`id -nu`" = "$someuser" ] ; then echo "I love you madly, $someuser" fi 他无法提供理由。有吗? 推荐答案 [[出人意料的较少,通常使用起来更安全。但是它不是可移植的-POSIX没有指定它做什么,并且只有
..
有没有办法source(包含)编译好的脚本? 我使用 shc 来编译我的所有脚本以及运行它们时从命令行开始,他们可以正常工作.但是当脚本必须包含其他两个脚本(variables.sh.x 和 functions.sh.x)时,它会崩溃并返回错误,即不能包含二进制文件. 有没有办法做到这一点? 包括一段代码: source $(dirname $0)/variables.sh.x
..
如果我在 Mac 或 Linux 中有实际文件和 Bash shell,我如何查询证书文件何时到期?不是网站,而是证书文件本身,假设我有 csr、key、pem 和链文件. 解决方案 With openssl: openssl x509 -enddate -noout -in file.pem 输出在表单上: notAfter=2014 年 11 月 3 日 22:23:50 GMT
..
这个问题是指已回答的问题:bash 中两个数组的比较/差异 让我们取两个数组: Array1=(“key1"“key2"“key3"“key4"“key5"“key6"“key7"“key8"“key9"“key10"“key13")Array2=(“key1"“key2"“key3"“key4"“key5"“key6"“key11"“key12"“key13") 数组之间的对称差异:
..
好的,所以我正在尝试创建一个用户名/密码登录脚本.(可能不是我仍在研究的最安全的想法);) 我的脚本将加载变量以与来自这样的文件进行比较.(现在我只是在处理密码部分) ./path/to/variables.conf 此文件将包含一个名为 的变量 PASS=SOME_VALUE 我打算用read来获取要比较的变量 read -p "输入你的密码:" CPASS; 现在我缺少的部
..
我已经尝试了所有在网上找到的方法来解决我的问题,但效果不佳. 基本上我有两个 csv 文件(管道分隔): file1.csv: 123|21|0452|IE|IE|1|MAYOBAN|BRIN|OFFICE|STREET|MAIN STREET|MAYOBAN|123|21|0453|IE|IE|1|科金|罗伯特|姓|软木|APTS|科金|123|21|0452|IE|IE|1|CO
..
我正在用 bash 编写一个脚本,将 old-link-url 替换为 new-link-url我的问题是 sed 由于斜杠而无法替换 url.如果我只输入一些文字就可以了. 我的代码 sed -e s/"$old_link"/"$new_link"/g wget2.html >播放列表.txt 解决方案 sed 支持 any 字符作为分隔符,因此如果您尝试替换的模式包含 /,使用不同
..
我正在尝试运行以下命令 ./someprogram |三通/dev/tty |sed 's/^.\{2\}//' >输出文件 但是当我去检查文件时,文件总是空白的.如果我删除 >output_file 从命令末尾,我可以看到 sed 的输出,没有任何问题. 有什么方法可以将此命令中 sed 的输出重定向到文件? 解决方案 使用 -u 标志从 sed 命令中删除输出缓冲,并确定你想
..
我有一个脚本,它在部署我的 debian 6.0 服务器时运行,它旨在从源代码构建 postgreSQL,为其创建系统用户,创建数据库并启动它运行.我是新手,但我做了很多功课,这就是我想出的: # 初始apt-get 更新apt-get -y 安装 aptitude bzip2 libbz2-dev git-core bison flexaptitude -y install sudo pyth
..