我在Linux中使用bash脚本迁移数据库输出文件,我想知道如何在bash脚本中执行Linux命令时处理错误。
例如,通常情况下,当我想循环遍历目录中的文件时,我会这样写它
# list files and grep results for .sql extension
for FILE in `ls | grep ".sql"`
do
echo "found file: $FILE"
done
它工作得很好,因为grep如果有.sql扩展名或不返回任何内容,就会返回文件名。
我想知道如何使用返回结果或错误的Linux命令,例如
ls ./*.sql
,
我想使用make构建我的程序,然后通过bash脚本启动创建的可执行文件,但是bash找不到可执行文件,尽管它是创建的,我可以手动启动它。该问题仅存在于Gnome-terminal中的linux mint 19上。Edit:确切的错误消息是:"/path/to/my/executable:没有这样的文件或目录“ 我有一个跨平台的项目,我需要运行cmake,然后构建项目,最后启动创建的可执行文件。我有一个bash脚本来自动化这个过程: Edit:它是唯一引起问题的部分;) for TASK in $@; do
if [[ $TASK == "make" ]]; t
我试图通过路径删除启动collectorlist*的文件,所以我编写了下面的shell脚本,但是-e选项总是给出未找到的输出。请给我建议。
脚本
if [ -d "/abc" ] ; then
for c in `ls -1 "/abc/"`; do
if [ -d "/abc/${c}" ] ; then
if [ -d "/abc/${c}/dynatrace/agent/linux-x86-64/agent/conf/" ] ; then
if [ -e "/bxp/${c}/dynat
我正在编写一个Perl脚本,该脚本将在与运行Linux的计算机联网的PC上运行。该脚本必须向Linux机器上的一组shell脚本提供输入,并从其中接收结果。我可以从PC复制输入文件,甚至可以调用Linux机器上的Perl脚本,但是当该脚本尝试通过以下方式运行.sh文件时:
system("./shell_script.sh");
它输出以下错误:
'.' is not recognized as an internal or external command, operable program or batch file.
我认为这意味着它试图在Window