我在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
,
我试图在bash上运行以下命令:
./home/abcdef/Desktop/jikesrvm/dist/prototype_x86_64-linux/rvm
这给了我一个
bash: ./home/abcdef/Desktop/jikesrvm/dist/production_x86_64-linux/rvm: No such file or directory
rvm是一个bash文件,当我尝试从它自己的文件夹(production_x86_64-linux)运行它时,它确实运行ok。如果我尝试在打开其父文件夹中的终端时运行它,或者甚至打开它的父文件夹时,它也可以正常工作。
为了以防万一,
我有一个批处理文件,它冲击到我在Windows10上的linux子系统,它试图通过linux系统执行命令。但是,它不会在bash命令之后执行任何命令。下面是一个示例:
bash cd Documents/CS/DS
这只是在运行文件的任何目录中运行,而不是一致地进入CS/DS。有没有办法让批处理文件执行其余的命令?
我遇到了一个奇怪的问题,无法将Sybase DB服务器作为root安装在AIX虚拟机上。我以root身份登录并以这样的方式启动安装程序:
bash-4.2# ./setup.bin -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this s
我想使用make构建我的程序,然后通过bash脚本启动创建的可执行文件,但是bash找不到可执行文件,尽管它是创建的,我可以手动启动它。该问题仅存在于Gnome-terminal中的linux mint 19上。Edit:确切的错误消息是:"/path/to/my/executable:没有这样的文件或目录“ 我有一个跨平台的项目,我需要运行cmake,然后构建项目,最后启动创建的可执行文件。我有一个bash脚本来自动化这个过程: Edit:它是唯一引起问题的部分;) for TASK in $@; do
if [[ $TASK == "make" ]]; t
我正在开发64位linux系统(它是ubuntu),并下载了64位linux的ADT包,但是当我在sdk文件夹下使用一些工具时,bash会报告一些错误,比如
bash: ./emulator: No such file or directory
什么会导致这样的错误,我知道文件只是there.some信息,我可以得到如下所示:
$ uname -a
Linux zhch-DX4840 3.8.0-34-generic #49-Ubuntu SMP Tue Nov 12 18:00:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ pwd
/home/z
我有一个网站,需要建立一个debian包,并将其移动到一个不同的目录,供人们下载。我已经能够使用Linux和bash文件来使用dpkg压缩和构建包文件。下面是bash脚本
#!/bin/bash
echo Enter app name
read NAME
cd /home/stumpx/cydia/apps
dpkg -b $NAME
cp /home/stumpx/cydia/apps/$NAME.deb /home/stumpx/cydia/upload/deb/$NAME.deb
cd /home/stumpx/cydia/upload
dpkg-scanpackages -m . /d
在"“中,它给了我以下的含义:
You can use Bash on Linux, and batch files on Windows.
我知道我可以以“内联”格式调用sh文件,如:
bash test.sh
所以,我的问题是:我能像下面这样将壳直接嵌入到它的体内吗?
git add . || exitMsg
如果答案是肯定的,我该怎么办?
谢谢。
到目前为止,我一直遵循LFS手册的指示,但是在生成bash时出现了一个错误,我在bash-5.1文件夹中运行了make,但是它在命令输出的末尾显示了一个错误:
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-linux-gnu/bin/ld: ./lib/sh/libsh.a(tmpfile.o): in function `sh_mktmpname':
/mnt/lfs/sources/bash-5.1/lib/sh/tmpfile.c:160: warning: the use of
我在试着安装网络。6.3在我的chromebook上使用Linux,但当我试图执行
./dotnet-install.sh -c Current
在Linux终端中,总是会出现以下错误:
-bash: ./dotnet-install.sh: No such file or directory
有什么办法可以绕过它/解决它吗?
我已经完成了sudo -i,所以我获得了完全的许可,并且我已经将我要执行的文件放在很多文件夹中,包括我的Linux文件夹。
任何帮助都是非常感谢的!