我无法使用 sh file_name 执行脚本但是它可以正常使用命令:./filename
阿迪提亚
当我使用 alarm.sh 运行它时 5 “喝茶”。我得到
/home/andy/bin/alarm.sh: line 27: [: Drink: unary operator expected
Run Code Online (Sandbox Code Playgroud)
报警文件
soundfile="/usr/share/sounds/My_Sounds/Alarm-sound-buzzer.mp3"
#amixer -D pulse sset Master 50% > /dev/null 2>&1
originalVolume=$(amixer -D pulse get Master | grep -m 1 -o -E [[:digit:]]+%)
clear
amixer -D pulse sset Master 50% > /dev/null 2>&1
if [ -f "$soundfile" ];
then
echo "Soundfile is present."
else
echo "File $soundfile does NOT exist."
echo
echo "Program will now exit."
exit
fi
[ ! $2 ] && {
echo
echo -e …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下代码行的 Bash 脚本:
echo "current directory is" $PWD
echo $PWD
# put current directory into a variable for use later in script
originalDirectory=$PWD
echo "contents of original directory variable:" originalDirectory
Run Code Online (Sandbox Code Playgroud)
输出的前 2 行有意义,但第三行没有意义。我希望它输出,contents of original directory variable: /media/sf_code/scripts
但它只是打印变量的名称。为什么它不在该字符串中的冒号后显示 originalDirectory 变量的内容?
我有一个包含在文件夹中的特定包的安装命令
这是一个用于加密和安全的包
有人可以为我解释到底是什么'pwd'意思吗?
./install_***.sh `pwd`
Run Code Online (Sandbox Code Playgroud)
我在猜测密码的简写?
请指教...
y=$(expr "$str" : ".*$x" - length "$x") 任何人都可以解释这段代码。我是脚本新手,对 C++ 和 python 有一些经验。实际上,这个问题是我对上一个问题的评论的一部分,但我没有得到任何答案。
我知道这听起来可能很荒谬,但在我的辩护中,我会说我刚刚开始搞乱编码和特别是 bash,所以不要太严厉地评判我......
我只是陷入了这个:
#!/bin/bash
echo -n "Enter a number: "
read VAR
if [[ $VAR -gt 10 ]]
then
echo "The variable is greater than 10."
fi
Run Code Online (Sandbox Code Playgroud)
事情是我写的任何数字都不会改变任何事情。甚至2会大于10。怎么了?
你好,我需要编写一个 bash 脚本旋转密码。不幸的是我现在不能再进一步了。接下来我需要使用 If-Else 条件将字母转换为数字,并按字母移位加 5。有人可以帮我怎么做吗?
谢谢
#!/bin/bash
#ROT=$1
ROT=5
TEXT=$2
CRYPT_TEXT=""
echo $ROT
echo $TEXT
echo "crypted: $CRYPT_TEXT"
for c in $(echo $TEXT | sed -e 's/\(.\)/\1\n/g')
do
echo $c
done
Run Code Online (Sandbox Code Playgroud) 我学会了使用带有 DOS 的计算机,因此我尝试近似批处理/.bat 文件来运行系统的所有更新并创建结果的日志文件。
#!/bin/bash
#update system in one step
cd ~
date > aupdate.log
echo Launching updates...
echo Beginning apt update
sudo apt update >> aupdate.log
sudo apt upgrade -y >> aupdate.log
echo Completing apt autoremove process
sudo apt autoremove -y >> aupdate.log
echo Beginning snap update
sudo snap refresh >> aupdate.log
echo Beginning flatpak update
flatpak update -y >> aupdate.log
echo Updates complete. Review aupdate.log for details.
Run Code Online (Sandbox Code Playgroud)
我走在正确的轨道上吗?到目前为止,我有两个问题需要解决。
编辑:这是我运行脚本时的结果:
Launching updates...
Beginning …Run Code Online (Sandbox Code Playgroud) 我有以下脚本应该运行 mongo DB 服务器并在重新启动后运行我的应用程序
这是我写的脚本:
sudo systemctl restart mongod
cd airnotifier/
sudo python3 ./app.py
Run Code Online (Sandbox Code Playgroud)
然后我将此脚本添加到 crontab 以安排它在重新启动时运行
@reboot /home/user/project/script.sh
Run Code Online (Sandbox Code Playgroud)
然后我使用命令重新启动机器
sudo reboot
Run Code Online (Sandbox Code Playgroud)
但什么也没发生,谁能告诉我出了什么问题吗?
zcat -rf ~/dragon | sort | grep -iaE -A 5 'cpu[1-7].*(8[0-9]|9[0-9]|100)' | tee cpu.txt
Run Code Online (Sandbox Code Playgroud)
scripts ×10
command-line ×5
bash ×4
apt ×1
cron ×1
encryption ×1
log ×1
security ×1
sh ×1
updates ×1