当前位置:首页 » 网页前端 » bash脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

bash脚本

发布时间: 2022-01-12 10:01:09

㈠ Linux bash脚本

forfilenamein`ls-F`
do
if[[$filename=~(.*/$)]]then
echo"$filename">>/tmp/dir.txt
else
echo"$filename">>/tmp/files.txt
fi
done

㈡ linux下怎么运行bash脚本

linux下运行bash脚本的方法如下:
1.
首先在桌面右键点击,选择在终端中打开,打开命令行;
2.
在命令行中输入
cd
脚本路径,进入脚本所在目录;
3.
使用chmod
+x
脚本名命令给文件添加可执行权限;
4.
使用sh
脚本名或者
./脚本名的方法来运行bash脚本。

㈢ linux中使用 . / 执行和 bash 执行脚本的困惑

.是表示在当前shell中执行脚本。所以会在当前的shell界面看到提示。
#!/usr/bin/bash 则是另开了一个shell执行脚本,所以看不到提示。
至于另开脚本是否会覆盖还没有测试过。
但是考虑可能会覆盖的情况 ,因该编写一个if 【】进行文件是否存在的测试。如果文件存在,进行判断是跳过还是覆盖。
否则文件不存在,则直接复制。

㈣ bash编程中怎么对脚本换行

在bash脚本中可以使用echo对输入内容进行换行或者使用反斜杠对脚本命令进行换行:

1、使用echo -e可以对输出内容进行换行输出,例如:

echo-e"abc
bcd
dsws"

将会输入:

abc
bcd
dsws

注意:使用echo -n将会忽略输入语句中的 换行符。


2、当脚本中命令太长的时候,一行不能完成写下,或者太长影响脚本代码的美观性,可以使用对一个命令进行换行执行:

./configure--prefix=/usr/local/softname--enable-xxx-enable-yyy--enable-zzz--enable-aaa-enable-bbb--enable-ccc--enable-mmm-enable-nnn--enable-ppp--enable-qqq

使用换行书写:

./configure--prefix=/usr/local/softname
--enable-xxx-enable-yyy--enable-zzz--enable-aaa
-enable-bbb--enable-ccc--enable-mmm-enable-nnn
--enable-ppp--enable-qqq

㈤ bash shell脚本编程问题

[ ! -e filename1 -a ! -e filename2 ] 两个文件同时不存在

!
"非"
-a
逻辑与
exp1 -a exp2 如果表达式exp1和exp2都为真的话, 那么结果为真.
-o
逻辑或
exp1 -o exp2 如果表达式exp1和exp2中至少有一个为真的话, 那么结果为真.

这与Bash中的比较操作符&&和||非常相像, 但是这个两个操作符是用在双中括号结构中的.
[[ condition1 && condition2 ]]
-o和-a操作符一般都是和test命令或者是单中括号结构一起使用的.
[ "$exp1" -a "$exp2" ]

㈥ 求写一个bash脚本

脚本如下。

#!/bin/bash
# default
ip=192.168.168.168
count=3
if [ $# -eq 2 ]; then
[[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]] && ip=$1
[[ $2 =~ ^[0-9]+$ ]] && count=$2
elif [ $# -eq 1 ]; then
if [[ $1 =~ ^([0-9]+\.){3}[0-9]+$ ]]; then
ip=$1
elif [[ $1 =~ ^[0-9]+$ ]]; then
count=$1
fi
fi
ping -n $count $ip >>$(date +%Y-%m-%d-%H-%M-%S).log
[ $? -ne 0 ] && 这里写restart pppd的代码
exit 0

说明:
1)运行脚本时可以带两个参数,第一个指示ip,第二个指示ping的次数;若输入不符合格式要求,使用默认值。
2)若只提供了一个参数,脚本自动根据格式判断是ip还是ping的次数;另一个使用默认值。
3)若提供的参数个数超过两个,只取前两个,格式判断参见1)。
4)若没有提供参数,都使用默认值。
5)因为没用过pppd,所以重启pppd的代码由你自行补上。

㈦ bash脚本for循环报错

1)把你的脚本修改如下:

$catx.sh
#!/bin/bash
foriin{1..4};
do
read-p"pleaseinputuseraccount:"username
stty-echo
read-p"pleaseinputpassword:"password
sttyecho
echo-e\n
if["$username"=="summit"]&&["$password"=="hisummit"];then
echo"correctuser,correctpassword,welcome!"
break
else
echo"wronguser,or/andwrongpassword,pleasetryagain."
fi
done

if[$i-eq4];then
exececho"wronguser/password,bye-bye"
fi

echo"WelcometousethisLinuxmachine"
echo"......"
......脚本中后面的命令可以继续运行


2)执行脚本,输入正确的用户名和密码:

$x.sh(或者执行./x.sh)
pleaseinputuseraccount:summit
pleaseinputpassword:

correctuser,correctpassword,welcome!
WelcometousethisLinuxmachine
......
......脚本中后面的命令可以继续运行

脚本中for循环后面的命令可以继续运行。


3)执行脚本,连续4次输入错误的用户名和密码(要么都错,要么用户名和密码其中错一个):

$x.sh(或者执行./x.sh)
pleaseinputuseraccount:abcd
pleaseinputpassword:

wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:summiitt
pleaseinputpassword:

wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:peter
pleaseinputpassword:

wronguser,or/andwrongpassword,pleasetryagain.
pleaseinputuseraccount:summitt
pleaseinputpassword:

wronguser,or/andwrongpassword,pleasetryagain.
wronguser/password,bye-bye(这里就bye-bye了,for循环后面的命令不能执行了)

打印出wrong user/password, bye-bye之后,脚本结束了,for循环后面的命令不能执行了。


供参考,谢谢!

㈧ bash脚本的解释

2>/dev/null 是将错误输出重定向到文件/dev/null,/dev/null是由系统维护的一个垃圾站并且自动清空,你可以用cat工具看看,里面是空的。如果你删了这句,错误输出将显示到屏幕。2是一个文件描述符,代表标准错误输出文件,默认为屏幕即/dev/stdout,另外0代表标准输入,1代表标准输出。学Shell推荐你看sobell的“Linux命令、编辑器与shell编程”,不要被一些烂书误导了。

㈨ linux学习bash脚本的一些困惑

linux脚本是很多个空格当成一个空格来识别,你这种情况还真不遇到过,有可能是你系统用的bash的版本和种类不同造成的

㈩ linux命令行下,怎么关闭正在执行的bash脚本

killall 脚本名

就算屏幕上在一直打印,你只管输入(盲输或复制粘贴过来),完成后一个回车ok。
哪怕输入的东西在屏幕上显示时会被输出搅乱,但实际是会被终端接收到标准输入管道的。这个方法我刚刚也试过了,是可以的。

上面的用于后台运行情况。前台运行一般ctrl+c是可以终止的。