1019得票17回答
统计Git仓库中的代码行数

我该如何计算一个Git代码库中所有文件的总行数? git ls-files 命令可以给出被 Git 跟踪的文件列表。 我需要一条命令来cat 所有这些文件。类似于:git ls-files | [cat all these files] | wc -l

1007得票12回答
"cat << EOF" 在 bash 中是如何工作的?

我需要编写一个脚本来向程序(psql)输入多行内容。 经过一番搜索,我发现以下语法是可行的:cat &lt;&lt; EOF | psql ---params BEGIN; `pg_dump ----something` update table .... statement ...; ...

981得票11回答
检查传递给Bash脚本的参数数量

我希望我的Bash脚本在必要的参数数量不足时打印错误消息。 我尝试了以下代码: ```bash if [ "$#" -ne 2 ]; then echo "Error: Invalid number of arguments." fi ```#!/bin/bash echo Scr...

978得票10回答
给定两个目录树,如何找出哪些文件内容不同?

如果我想找出两个目录树之间的差异,我通常只需执行:diff -r dir1/ dir2/ 这段代码输出的是对应文件之间的确切差异。我只想获取内容不同的对应文件列表。我认为只需通过传递命令行选项给diff就可以实现,但手册上没有找到相关信息。 有什么建议吗?

976得票11回答
在Bash脚本中如何将heredoc写入文件?

我该如何在Bash脚本中将Here文档写入文件?

972得票7回答
在Bash中向数组添加新元素时不指定索引

在Bash中是否有像PHP的$array[] = 'foo';这样的方式,而不是使用:array[0]='foo' array[1]='bar'

966得票7回答
何时需要在shell变量周围加上花括号?

在shell脚本中,我们什么时候使用{}来扩展变量? 例如,我曾经看到过以下用法:var=10 # Declare variable echo "${var}" # One use of the variable echo "$var" # Another use of t...

957得票7回答
如何将传递给我的Bash脚本的所有参数传递给我的函数?

假设我有一个函数 abc() ,它将处理与分析传递给我的脚本的参数相关的逻辑。 我该如何将Bash脚本接收到的所有参数传递给abc()? 参数数量是可变的,因此我不能像这样硬编码传递的参数:abc $1 $2 $3 $4 更好的做法是,我的函数是否可以访问脚本参数的变量?

953得票10回答
逐行读取文件并将值赋给变量

我有一个如下的 .txt 文件:Marco Paolo Antonio 我想逐行读取文件,并为每行分配一个 .txt 行值到一个变量中。假设我的变量是 $name,流程如下: 从文件中读取第一行 分配$name = "Marco" 对$name执行一些任务 从文件中读取第二行 分配$nam...

944得票4回答
什么是特殊的美元符号shell变量?

在Bash中,似乎有几个变量保存着特殊且一致含义的值。例如,./myprogram &amp;; echo $! 将返回myprogram在后台运行的进程的PID。我知道其他的方法,比如$?,我认为它是当前TTY的编号。还有其他的吗?