我在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
,
我是非常新的对接和高寒linux。我有一个bash脚本,它在RHEL中运行得很好。我正试图在一个阿尔卑斯-linux v3.11对接容器中运行这个程序。我的bash脚本目前使用curl、jq、mailx。为了涵盖这些依赖项,我有以下Dockerfile:
FROM alpine
RUN apk update && \
apk add bash vim curl jq mailx
构建显示Installing mailx (8.1.1-r1)
但是,在容器中,我看不到mailx。
/ # mailx
/bin/sh: mailx: not found
/ # which
在环境中,我试图在Windows 7上调用Rust (1.0 beta 3)中的命令,但我不知道如何执行。
假设您的主文件夹中有一个名为myls的非常简单的脚本:
#!/bin/bash
ls
现在,在Rust中创建一个简单的程序,调用脚本:
use std::process::Command;
use std::path::Path;
fn main()
{
let path_linux_style = Path::new("~/myls").to_str().unwrap();
let path_win_style = Path::new("
我在Linux上运行了一个cmake-3.17.0-rc2-Linux-x86_64.sh脚本,现在有了一个带有文件夹bin man doc share的cmake-3.17.0-rc2-Linux-x86_64文件夹。从这里开始,如何安装cmake?当我输入cmake时,我得到bash: cmake: command not found...
如果我将cat命令保存到字符串中,然后执行它,那么我将得到一个错误。
linux# cmd="cat /data/test/test.tx* | grep toto"
linux# eval '$cmd'
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
即使是
linux# $cmd
cat: |: No such file or directory
cat: grep: No such file