我正在编写一个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
我在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
,
我在Azure linux (使用自定义脚本扩展)和AWS Linux box (使用用户数据)中运行相同的脚本,但当脚本完成时,我可以看到在两个服务器中创建的相同文件具有不同的文件权限。
更新:现在问题已经解决了。我终于找到了答案。它是在linux上强制执行的selinux。禁用它解决了我所有的问题。
我试图使用shell脚本将文件中的句子分割成不同的行。
现在我想把绳子分开!?或者。。输出应该如下:
我想从my_text.txt读取并包含的文件。
you want to learn shell script? First, you want to learn Linux command! then. you can learn shell script.
现在我想用“!”来分弦。或者"?“或者“。”输出应该如下:
您想先学习shell脚本,然后学习Linux命令,然后再学习shell脚本。
我用了这个脚本:
while read p
do
echo $p | tr "
我想用shell脚本打印一个文件夹的结构。所以它看起来就像这样
File : linux -3.14/COPYING
File : linux -3.14/CREDITS
Directory : linux -3.14/Documentation
File : linux -3.14/Documentation/00 - INDEX
Directory : linux -3.14/Documentation/ABI
File : linux -3.14/Documentation/ABI/README
这是我的脚本。问题是它会打印出当前目录的所有