标签: scripts

无法使用 sh <file_name> 执行脚本

我无法使用 sh file_name 执行脚本但是它可以正常使用命令:./filename

阿迪提亚

scripts sh

0
推荐指数
1
解决办法
638
查看次数

[: Drink: 预期的一元运算符

当我使用 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 scripts

0
推荐指数
1
解决办法
922
查看次数

Bash 脚本中变量的意外输出

我有一个包含以下代码行的 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 变量的内容?

command-line bash scripts

0
推荐指数
1
解决办法
45
查看次数

“密码”是什么意思?在此安装脚本的上下文中

我有一个包含在文件夹中的特定包的安装命令

这是一个用于加密和安全的包

有人可以为我解释到底是什么'pwd'意思吗?

./install_***.sh `pwd`
Run Code Online (Sandbox Code Playgroud)

我在猜测密码的简写?

请指教...

encryption package-management security command-line scripts

0
推荐指数
1
解决办法
184
查看次数

将 expr 与字符串一起使用

y=$(expr "$str" : ".*$x" - length "$x") 任何人都可以解释这段代码。我是脚本新手,对 C++ 和 python 有一些经验。实际上,这个问题是我对上一个问题的评论的一部分,但我没有得到任何答案。

scripts

0
推荐指数
1
解决办法
45
查看次数

从头开始猛击

我知道这听起来可能很荒谬,但在我的辩护中,我会说我刚刚开始搞乱编码和特别是 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。怎么了?

command-line bash scripts

0
推荐指数
1
解决办法
83
查看次数

Bash 脚本轮换密码

你好,我需要编写一个 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)

command-line bash scripts text-processing

0
推荐指数
1
解决办法
573
查看次数

第一次编写脚本——为什么输出不写入文件?

我学会了使用带有 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)

我走在正确的轨道上吗?到目前为止,我有两个问题需要解决。

  1. 没有创建日志文件
  2. 运行 apt > filename 时如何抑制有关重定向输出的警告(编辑:见下文)

编辑:这是我运行脚本时的结果:

Launching updates...
Beginning …
Run Code Online (Sandbox Code Playgroud)

updates command-line apt scripts log

0
推荐指数
1
解决办法
745
查看次数

重启后运行脚本

我有以下脚本应该运行 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)

但什么也没发生,谁能告诉我出了什么问题吗?

scripts cron

0
推荐指数
1
解决办法
4739
查看次数

这个命令会做什么

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)
  1. 这个命令会做什么?
  2. 各个命令如何发挥作用?

scripts

0
推荐指数
1
解决办法
260
查看次数