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作为捆绑 ..
发布时间:2022-02-22 10:15:31 其他开发

使用sed将日期格式从DD/MM/YYYY更改为YYYY-MM-DD

我正在做: 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无效” 推荐答案 此错误通常在未正确转义捕获组时发生。 也就是说,捕获组的括号在您的命令中是转义的,因此您可能尝 ..
发布时间:2022-02-21 15:45:40 其他开发

如何在sed中转义斜杠、双引号和单引号?

据我所知,当您使用单引号时,里面的所有内容都被认为是文字。我想要那个做我的替身。但我还想查找包含单引号或双引号的字符串。 例如 sed -i 's/"http://www.fubar.com"/URL_FUBAR/g' 我想用URLFUBAR替换“http://www.fubar.com”。sed应该如何识别我的//或我的双引号? 谢谢您的帮助! 编辑:我可以使用s/" ..
发布时间:2022-02-21 15:43:38 其他开发

在Bash脚本中调用gawk的奇怪返回值&134&q;

我在Bash脚本中使用Gawk时遇到了一个非常奇怪的问题。 在此脚本中,我使用一个函数进行一些文本处理。即使是非常简单的gawk命令也会返回错误134。 #!/bin/bash testFunc() { log "Before gawk: $?" gawk '{print}' file log "After gawk: $?" } 如果我在控制台中手动运 ..
发布时间:2022-02-21 14:19:48 服务器开发

从`conda list`输出安装所有内容

我有一个文件,conda_env.txt,它是保存conda list的标准输出的结果。它具有以下结构。 conda_env.txt # packages in environment at /scratch/hello/anaconda3: # # Name Version Build Channel _ip ..
发布时间:2022-02-21 14:18:36 其他开发

如何使用";find";按正则表达式搜索文件名

我正在尝试查找日期为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- ..
发布时间:2022-02-21 10:53:28 服务器开发

在Bash中将空格分隔的字符串读入数组

我有一个变量,其中包含空格分隔的字符串: line="1 1.50 string" 我想用空格作为分隔符来拆分该字符串,并将结果存储在一个数组中,以便: echo ${arr[0]} echo ${arr[1]} echo ${arr[2]} 输出 1 1.50 string 我在某个地方找到了一个不起作用的解决方案: arr=$(echo ${line}) ..
发布时间:2022-02-20 21:03:50 其他开发

如何使用';IF';语句检查退出状态

检查if语句中的退出状态以回显特定输出的最佳方式是什么? 我想是 if [ $? -eq 1 ] then echo "blah blah blah" fi 我还遇到的问题是exit语句在if语句之前,这仅仅是因为它必须具有该退出代码。此外,我知道我做错了什么,因为退出显然会退出程序。 推荐答案 运行的每个命令都有退出状态。 该检查正在查看在该行运行之前最近 ..
发布时间:2022-02-20 21:00:34 其他开发

如何在打印bash脚本的参数时保留引号

我正在创建一个bash脚本,该脚本将打印复杂参数并将其传递给另一个外部程序。 ./script -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a' 如何打印原始参数: -m root@hostname,root@hostname -o -q -- 'uptime ; uname -a' 使用$@和$*可删除可能 ..
发布时间:2022-02-20 16:20:34 服务器开发

在管道中使用T形三通时,如何将标准错误写入文件?

我知道如何使用tee将aaa.sh的输出(standard output)写到bbb.out,同时仍然在终端显示: ./aaa.sh | tee bbb.out 我现在如何将standard error写入名为ccc.out的文件,同时仍显示该文件? 推荐答案 我假设您仍然希望在终端上看到STDERR和STDOUT。你可以去找Josh Kelley的答案,但是我发现在后台放一 ..
发布时间:2022-02-20 16:17:56 服务器开发

如何在bash中等待多个子进程完成,当任意子进程以code!=0结束时返回退出代码!=0?

如何在bash脚本中等待该脚本派生的多个子进程完成,然后在任意子进程以代码!=0结束时返回退出代码!=0? 简单脚本: #!/bin/bash for i in `seq 0 9`; do doCalculations $i & done wait 上面的脚本将等待所有10个派生的子进程,但它始终会给出退出状态0(请参见help wait)。如何修改此脚本以使其能够发现派生的子 ..
发布时间:2022-02-20 16:15:02 其他开发

在Bash中,双方括号[[]]比单方括号[]更可取吗?

一位同事最近在一次代码审查中声称,在 这样的结构中,[[ ]]结构比[ ]结构更优先 if [ "`id -nu`" = "$someuser" ] ; then echo "I love you madly, $someuser" fi 他无法提供理由。有吗? 推荐答案 [[出人意料的较少,通常使用起来更安全。但是它不是可移植的-POSIX没有指定它做什么,并且只有 ..
发布时间:2022-02-20 16:08:35 其他开发

无法`source` shc 编译的脚本

有没有办法source(包含)编译好的脚本? 我使用 shc 来编译我的所有脚本以及运行它们时从命令行开始,他们可以正常工作.但是当脚本必须包含其他两个脚本(variables.sh.x 和 functions.sh.x)时,它会崩溃并返回错误,即不能包含二进制文件. 有没有办法做到这一点? 包括一段代码: source $(dirname $0)/variables.sh.x ..
发布时间:2022-01-25 19:12:38 其他开发

比较 bash、diff 和相同值中的三个数组

这个问题是指已回答的问题:bash 中两个数组的比较/差异 让我们取两个数组: Array1=(“key1"“key2"“key3"“key4"“key5"“key6"“key7"“key8"“key9"“key10"“key13")Array2=(“key1"“key2"“key3"“key4"“key5"“key6"“key11"“key12"“key13") 数组之间的对称差异: ..
发布时间:2022-01-25 09:28:03 其他开发

直到用户输入匹配变量 do

好的,所以我正在尝试创建一个用户名/密码登录脚本.(可能不是我仍在研究的最安全的想法);) 我的脚本将加载变量以与来自这样的文件进行比较.(现在我只是在处理密码部分) ./path/to/variables.conf 此文件将包含一个名为 的变量 PASS=SOME_VALUE 我打算用read来获取要比较的变量 read -p "输入你的密码:" CPASS; 现在我缺少的部 ..
发布时间:2022-01-25 09:19:17 其他开发

用 sed 将 old-link-url 替换为 new-link-url

我正在用 bash 编写一个脚本,将 old-link-url 替换为 new-link-url我的问题是 sed 由于斜杠而无法替换 url.如果我只输入一些文字就可以了. 我的代码 sed -e s/"$old_link"/"$new_link"/g wget2.html >播放列表.txt 解决方案 sed 支持 any 字符作为分隔符,因此如果您尝试替换的模式包含 /,使用不同 ..
发布时间:2022-01-24 23:42:58 服务器开发

为什么我不能将输出从 sed 重定向到文件

我正在尝试运行以下命令 ./someprogram |三通/dev/tty |sed 's/^.\{2\}//' >输出文件 但是当我去检查文件时,文件总是空白的.如果我删除 >output_file 从命令末尾,我可以看到 sed 的输出,没有任何问题. 有什么方法可以将此命令中 sed 的输出重定向到文件? 解决方案 使用 -u 标志从 sed 命令中删除输出缓冲,并确定你想 ..
发布时间:2022-01-24 23:40:07 其他开发

安装 PostgreSQL 的 Bash 脚本 - 不工作

我有一个脚本,它在部署我的 debian 6.0 服务器时运行,它旨在从源代码构建 postgreSQL,为其创建系统用户,创建数据库并启动它运行.我是新手,但我做了很多功课,这就是我想出的: # 初始apt-get 更新apt-get -y 安装 aptitude bzip2 libbz2-dev git-core bison flexaptitude -y install sudo pyth ..
发布时间:2022-01-24 23:35:46 服务器开发