我用linux bash编写了一个简单的脚本,就像下面这样:
#!/bin/bash
PATH=/tmp_with_zip_files
FILETYPE=zip
i=1
for filename in $PATH/*.$FILETYPE;
do
echo "rm $filename";
if [ -f $filename ];
then rm $filename;
fi
i=$((i+1))
done
echo "$i files removed"
但是,当
我一直在使用一个脚本,我已经有一段时间没有这样做了。有人建议我使用VS代码来开发脚本,然后我使用pscp将文件从我的windows计算机获取到我连接的Linux计算机中。 一旦我这样做并尝试在Linux机器上运行这个脚本,我就得到了以下错误:/bin/bash^M: bad interpreter: No such file or directory 在VS代码的settings.json文件中,我将terminal.intergrated.shell.windows设置为bash.exe。我遇到了这个问题:Bash script and /bin/bash^M: bad interpret
如果我试图在流浪者挂载中执行一个文件,而不是在外部执行文件,我会遇到一个奇怪的问题:
$ cat test
#!/usr/bin/env node
console.log('works!')
$ ls -la test
-rwxr-xr-x 1 vagrant vagrant 43 May 13 23:17 test
$ ./test
bash: ./test: /usr/bin/env: bad interpreter: Invalid argument
$ /usr/bin/env node test
works!
$ cp test /tmp/; cd /
我是Linux/Unix编程的新手,正在学习本教程:。
在本教程中,它指出主目录中的.profile文件初始化变量,并将路径变量初始化为:$ PATH =/bin:/usr/bin$
但是,当我打印我的.profile文件的内容时,我会得到以下内容:
1 # ~/.profile: executed by the command interpreter for login shells.
2 # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
3 # exists.
4 # see /u
我试图在我的Winodws 10机器上安装linux,但是安装中出现了一些问题。在从grub中更改引导管理器之前,我从Windows中删除了它。现在,当我重新开始时,我得到以下信息:
GNU GRUB version 2.02~beta2-36ubujntu3.2
Minimal BASH-LIKE line editing is supported. For the first word, TAb lists possible command completions. Anywhere else TAB lists possible device
我是非常新的对接和高寒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
我正在尝试在以下代码的帮助下安装java,但默认情况下它安装在/usr/java/目录中。我希望它安装在一个单独的目录上,例如/u 01/app。
食谱
# Remove old environment then notify new environment to be created
ruby_block "delete_environement" do
block do
editBashrc = Chef::Util::FileEdit.new("/home/oracle/.bash_profile")
editBashrc.search
我在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
,