标签: scripts

为什么我收到来自 | 的语法错误 在这个脚本中?

我从这个脚本中得到一个错误

#!/bin/bash

red="\033[31m"
green="\033[32m"
yellow="\033[33m"
blue="\033[34m"
pink="\033[35m"
cyan="\033[36m"
white="\033[37m"
echo ""
echo -e  "${green}       _ __  ___ ___ "
echo -e  "${green}      | '_ \/ __/ __|"
echo -e  "${green}      | | | \__ \__ \"
echo -e  "${green}      |_| |_|___/___/"
echo -e "${blue}        Welcome My first program"
echo ""
Run Code Online (Sandbox Code Playgroud)

系统给我的错误

./my_first_program.sh: Line 14: unexpected token `| ' Syntax error near
./my_first_program.sh: Line 14: `echo -e  "${green} |_| |_|___/___/"'
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

bash scripts

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

由于启动时脚本永无止境,Ubuntu 在启动时被阻止

我添加了一个名为 的脚本kafka,它运行两个永无止境的服务(kafka 服务器和 zookeeper)

我已经添加了这个脚本放到/etc/init.d 而且还增加了profile

nano ~/.profile
Run Code Online (Sandbox Code Playgroud)

现在,当我打开我的Ubuntu, 并输入我的密码后,屏幕看起来像是被锁定了,等待脚本结束。

但是现在我无法访问我的虚拟机上的任何内容。

题:

如果有任何方法可以解决此问题并删除我添加的脚本?

它永远保持这样......

锁定

startup scripts 16.04

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

编写一个 shell 脚本,将当前目录中包含单词“hello”的所有文件移动到一个名为“hello-world”的单独文件夹中

编写一个 shell 脚本,将当前目录中包含该词的所有文件移动hello到一个名为hello-world.

当前目录包含文件a b c d ef出哪些文件acf包含单词hello

如何hello在当前目录的文件中搜索该单词并将满足条件的文件移动到另一个目录中hello-world

command-line bash scripts files

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

如何在通过shell脚本执行`mysqldump`时提供密码

我写了一个批处理文件,它建立到我能够这样做的 linux 服务器的连接,之后我试图将 mysqldump 带到某个目录,它具有所有 777 权限,但 linux 系统要求我“输入密码”只是空的,我需要手动按Enter,我只需要执行我的脚本,只需按一下Enter,执行就会自动发生。下面是一些细节。

批处理文件:

plink.exe -ssh user@host -m command.txt
Run Code Online (Sandbox Code Playgroud)

command.txt

mysqldump -uve -p -R -E --single-transaction --databases mydb|gzip > /home/user/mydb_bkup.gz
Run Code Online (Sandbox Code Playgroud)

这是提示我输入密码的图像: 这是提示我输入密码的图像

请为我提供一些输入,以便我可以输入密码并自动执行我的命令。

mysql command-line scripts

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

使用 Bash 脚本查找/替换文本文件中的特殊字符

我正在寻找有关创建脚本以查找和替换文本文件中的特殊字符的一些指导。

我想出了这段伪代码,但填补空白有点困难:

  • 查找换行符并用空格替换。
  • CP按换行符查找和替换。
  • 查找Mr. Mime(带空格)& 替换Mr.Mime(不带空格)
  • 查找制表符并按空格替换
  • 找到双空格并替换为单空格
  • 查找%并替换为空(也就是忽略它)
  • 找到“ ATK DEF STA IV ”并用空格替换

“查找”代表“查找所有实例”。

我一直在研究sed,但我似乎无法找到如何处理这些特殊字符。任何想法都非常感谢。

编辑:正如特此所问的输入的一小段:

CP 1593
SSS
Sudowoodo?
ATK     DEF     STA     IV
15  15  15  100.0%
counter
rock slide
CP 1262
SSS
Tangrowth?4
ATK     DEF     STA     IV
15  15  15  100.0%
vine whip
grass knot
CP 1077
SSS
Mr. Mime?
ATK     DEF     STA     IV
15  15  15  100.0%
confusion
psychic
Run Code Online (Sandbox Code Playgroud)

和预期的输出:

1593 SSS Sudowoodo? 15 15 …
Run Code Online (Sandbox Code Playgroud)

scripts sed text-processing

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

用于链接命令的分号或双与号?

在编写 bash 脚本时,哪个更好地链接命令、分号;或双与号&&

command-line bash scripts

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

脚本可以直接从 ~/.config/autostart 文件夹运行吗?

我的主目录中有一个脚本文件,我已将其添加到Startup Applications. 然后.desktop~/.config/autostart. 是否可以去掉中间人,直接从自动启动文件夹运行这个脚本?

脚本的结构是这样的:

command1
command2
command3
Run Code Online (Sandbox Code Playgroud)

我尝试通过重新排列脚本以使其成为一行:

command1;command2;command3
Run Code Online (Sandbox Code Playgroud)

这背后的想法是.desktop从文件中换出以下行:

Exec=/home/hiigaran/startupfile
Run Code Online (Sandbox Code Playgroud)

对此:

Exec=command1;command2;command3
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用。我猜不支持多个命令。有没有其他办法?

需要明确的是,我目前的做事方式没有任何特别的问题。一切都发挥应有的作用。我只是非常关注我的主目录内容。如果有更优雅的方式在登录桌面后运行我的脚本,那太好了。如果没有,也没什么大不了的。

据我了解,KDE 有一个 ~/.config/autostart-scripts 目录,它非常适合我。然而,这似乎是一个只能在 KDE 中找到的文件夹。我正在使用 Ubuntu 18.04 的默认 DE。

scripts autostart

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

这些 bash 评论有什么作用

我正在学习 bash。没什么特别的,只是摆弄我自己的脚本。很有趣。

在查看记录 bash 脚本的选项时,我遇到了这个问题。

双“##”和标签“@var”、“@brief”等的意义是什么?

我猜我在这里错过了一个技巧。

## @var DEBUG
## @brief Enables / disables the debug mode.
## @details The debug mode adds extra information for troubleshooting purposes.
## Value: yes or no (y / n).
Run Code Online (Sandbox Code Playgroud)

bash scripts documentation

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

一个选项在 bash 中没有看到参数(即变量),请帮忙?

#!/bin/bash

counter=2

while [ $counter -lt 19 ]
do



        username= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f1 
        psswd= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f2 
        full_name= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f3 
        group= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f4 
        second_group= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f5 

        sudo …
Run Code Online (Sandbox Code Playgroud)

command-line bash scripts

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

终端中的命令 'chmod +x $1' 有什么作用?

我想安装一个应用程序,但我不知道这个命令有什么作用:

chmod +x $1
Run Code Online (Sandbox Code Playgroud)

command-line bash scripts

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