我在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创建随机文件,以及如何删除创建的文件?我不确定。
想法:用户应该输入一个任意的文件名并保存它。他们也可以删除这个保存的文件。
提前感谢
删除文件的代码:
if [ "$REPLY" = "d" ];
then
read -r -p 'Delete file: Please enter the name of the file to
刚开始使用Linux并练习使用不同的命令,作为一个学习练习,我试图将一个文件附加到我使用以下命令创建的名为"test.tar“的tar存档中:
tar rvf test.tar newfile
它返回了错误:
tar: newfile: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
我也试过:
tar -rvf test.tar newfile
结果是一样的。
在更新到Ubuntu15.04版本之后,当我尝试运行emacs时,我遇到了问题。
emacs: error while loading shared libraries: libMagicWand.so.5: cannot open shared object file: No such file or directory.
与此同时,当我这么做的时候:locate libMagic
/usr/lib/i386-linux-gnu/libMagick++.a
/usr/lib/i386-linux-gnu/libMagick++.la
/usr/lib/i386-linux-gnu/libMa
我正尝试在C++中使用eclipse IDE在linux上创建一个共享库。但是我得到了这个错误,我找不到问题:
23:42:12 **** Incremental Build of configuration Release for project GE ****
make all
Building file: ../GE/Application.cpp
Invoking: GCC C++ Compiler
std=c++1y -DGE_PLATFORM_LINUX -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"GE/Application
在linux机器中将线程转储到Java上有时会失败,使用j堆栈时出现以下错误:
1455: Unable to open socket file /proc/1455/root/tmp/.java_pid1455: target process 1455 doesn't respond within 10500ms or HotSpot VM not loaded**strong text**
与jcmd:-
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target pro
我试图在浏览器中运行这个简单的脚本,但它总是出错。如果我在linux上运行它,它运行得很好。
Script - test.pl:
#!/home/biotools/perl/5.10.0/bin/perl
use lib '/home/biotools/current/lib/site_perl/5.10.0';
use lib '/people/users/123456/classPath/lib';
use IngresLXSetupNoLog;
use strict;
use warnings;
use Path::Class; # this is l
在不同的教程中,我经历了所有的步骤。
我已经通过+eb init+创建了我的弹性豆茎实例,并且正确设置了我的路径。
然后,我做了一个git .init,尝试了一个git aws.push,得到了以下错误:
error: cannot run .git/AWSDevTools/aws.elasticbeanstalk.push: No such file or directory
fatal: While expanding alias 'aws.elasticbeanstalk.push':
.git/AWSDevTools/aws.elasticbeanstal
我想在AIX第3行的"Textfile.txt“文件中插入一行”新行“。
插入之前,Textfile.txt看起来像
one
two
four
插入后,Textfile.txt看起来像
one
two
new line
four
我已经在Linux上完成了它,无论如何使用AIX,我都发现它无法使用Linux的解决方案。
令人惊讶的是,我在任何地方都找不到解决这个问题的简单办法。
我在Linux中使用这个命令,并且正在工作。
echo "target_node = ${arr[0]}"
echo "target_file = ${arr[1]}"
echo
我开始使用Spyder编辑位于远程服务器上的代码。我设法连接到远程服务器的内核。为了能够打开和保存(下载、上传)脚本,我安装了Expandrive,它映射了服务器,就像我的机器上的一个外部硬盘。服务器操作系统是Linux,本地操作系统是Windows。
我认为这应该是可行的,但我仍然收到错误file not found。
知道为什么吗?
在另一篇文章:上,建议(第二个答案)向%run命令文件中添加一些特定的代码,以便程序理解linux的dirpath语法。
# ----added to remap local dir to remote dir-------
loca
我正在准备一个java服务的坞映像。但是,在构建图像时,我会遇到以下错误。
chmod: cannot access '/HerculesServiceOnboarding-linux': No such file or directory
HerculesServiceOnboarding linux是一个二进制文件,被调用以在java服务中执行。文件位于路径src/main/java/resources/下。通常的maven项目结构。
下面是我的java服务的项目结构。
下面的是停靠文件代码.
FROM adoptopenjdk:8-jre-openj9
ARG
我正在尝试设置我的MySQL常规日志,以便可以使用以下命令打开和关闭它
SET GLOBAL general_log = 'ON'
SET GLOBAL general_log = 'OFF'
我希望在默认情况下关闭它(即在服务器启动时),但之后可以像上面那样切换它,这样我就不必一直重新启动服务器。当我尝试像上面那样打开常规登录时,MySQL生成以下错误:
Table 'mysql.general_log' doesn't exist
这是真的-我故意不创建这个表,因为我希望记录到文件中,而不是记录到表中。在我看来,尽管相关的全局变量设置
我想重命名所有包含空格的pdf文件,用下划线代替它们。因此,我调用命令:
ls *.pdf | sed -e 'p; s/" "/_/' | xargs -n2 mv
我在终端上发现了错误:
mv: cannot stat ‘Beginning’: No such file or directory
mv: cannot stat ‘Linux’: No such file or directory
mv: cannot stat ‘Line.pdf’: No such file or directory
mv: cannot stat ‘The’: No su
我想使用make构建我的程序,然后通过bash脚本启动创建的可执行文件,但是bash找不到可执行文件,尽管它是创建的,我可以手动启动它。该问题仅存在于Gnome-terminal中的linux mint 19上。Edit:确切的错误消息是:"/path/to/my/executable:没有这样的文件或目录“ 我有一个跨平台的项目,我需要运行cmake,然后构建项目,最后启动创建的可执行文件。我有一个bash脚本来自动化这个过程: Edit:它是唯一引起问题的部分;) for TASK in $@; do
if [[ $TASK == "make" ]]; t
我在尝试运行Django数据库迁移时发现以下错误: File "/home/xxx/virtualenv/xxx/lib64/python3.6/site-packages/drf_ujson/renderers.py", line 4, in
import ujson
ImportError: libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory 环境详细信息: ujson版本1.35 drf-ujson 1.2版 pip版本18.1 python版本3.6
我正在linux机器上尝试在文件夹/usr/local/SASHome/SASFoundation/9.4中运行一个名为sassetup的脚本。脚本的前两行如下所示。
eval 'exec `dirname $0`/perl/bin/perl5 -U $0 ${1+"$@"}'
if $running_under_some_shell;
我收到一条错误信息
./sassetup: line 1: /usr/local/SASHome/SASFoundation/9.4/perl/bin/perl5: No such file or directory
错
几天前,我进行了Ubuntu更新,因此无法登录我的计算机,所以我错误地在内核中删除了更新版本,但我能够继续工作。
现在的问题是,每次我使用apt-get命令时,它都以以下行结束(例如,试图安装ruby):
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby is already the newest version (1:2.5.1).
The following packages were automatically installed and