Questions tagged «bash»

Bash(Bourne-Again SHell)是默认情况下在Ubuntu命令行界面中使用的shell。



4
bash配置文件适用于用户,但不适用于sudo
我已经修改了.profile文件,以便在插入闪存驱动器时包含一个文件夹。以用户身份运行命令时,它可以正常运行,但告诉我该脚本必须由sudo运行(这就是我想要的)。但是,当我尝试使用sudo运行它时,出现“找不到命令” 我的/ var / www文件夹中有一个指向/ media / flash驱动器的符号链接(闪存)。(不要介意此设置,因为它仅适用于开发人员) 这是我的用户的.profile: # set PATH so it includes flash scripts if [ -d "/var/www/flash/scripts" ] ; then PATH="/var/www/flash/scripts:$PATH" fi 当尝试以sudo运行时,我得到: sudo: script: command not found 有任何想法吗?
9 bash 

3
eval $(cat文件名)是否与源文件名相同?
使用某些bash函数时,我不知道source ...命令,所以我eval $(cat ...)改用了。现在我想知道,我应该更改它的每次使用,还是只是相同的功能? 他们现在看起来工作相同,但是我以后只想知道,也许以后会有一些误导性的差异。

1
别名:.bash_rc,.bash_aliases和/ usr / local / bin之间的区别
在玩Terminal时,我注意到有很多创建永久别名的方法。 我是Linux新手,据我所知,我正在做: sudo ln -s /path/to/executable /usr/local/bin/desired_alias 添加desired_alias = '/path/to/executable'到~/.bashrc 取消注释这些行~/.bashrc: if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi 并把desired_alias = '/path/to/executable'成~/.bash_aliases 都具有相同的效果。 第一种方法和第二种方法有什么区别?

1
Firefox每次关闭时如何执行终端命令
我需要执行以下操作: rm -rf ~/.wine-pipelight/*; rm -rf ~/.wine-pipelight/./.*; cp -a ~/viewright_backup/. ~/.wine-pipelight 每次Firefox窗口关闭时。但不一定所有窗口都关闭时,而是在所有关闭的窗口上时。例如,如果我有一个Firefox窗口和一个Firefox弹出窗口。如果关闭至少一个窗口,则要执行此命令。这可能吗?谢谢!

2
Awk让我所有的普通用户陷入困境
我有一个剧本。 我想从/etc/shadow阴影文件第二个词以$或开头的所有用户中获取所有常规用户!$。 我的模式是 sudo getent shadow | awk -F: '$2 ~ /^$/ || /^!$/ {print $1}' 目前不起作用。
8 bash  scripts 

4
如何在Bash中将命令的输出作为命令导入?
系统 Linux hosek 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 问题 我需要在bash脚本中以命令的形式获取输出以存储变量。 例 sed -n '/# Main configuration./,/# Websites./p' webcheck-$category.cfg | sed '1,1d' | sed '$ d' 此命令返回以下行: email_sender='some@email.com' email_recipients='another@email.com' 如何在脚本中将这些输出/行作为命令读取/运行?是否将此输出存储到文件中,然后source仅通过命令读取它? 我| source在命令末尾尝试过,但是它仅从文件中读取。 我echo在一开始就尝试过,但是没有效果。 谢谢。

3
如何在Ubuntu中更改许多文件中的^ L代码?
我有很多XML文件,其中超过50000个。 在某些XML文件中,某些文件是这样写的 <filename>abc.JPEG<^Lilename> ^L只是一个字符,但我找不到^LGoogle意味着什么。 当我cat用来打印文件的内容时,它显示如下 <filename>abc.JPEG< ilename> 无论如何,我想更改<filename>abc.JPEG<^Lilename>为<filename>abc.JPEG</filename> 我已经找到了一些命令来更改许多文件中的单词,例如 find . -exec perl -pi -e 's/[find_word]/[change_word]/g' {} \; 但是该命令在我的情况下不起作用,因为在我键入时它无法识别搜索词^L。 如何更改<filename>abc.JPEG<^Lilename>为<filename>abc.JPEG</filename>多个文件?
8 bash  perl 

2
如何从bash命令获取子字符串
给定以下从命令获得的子字符串df /dev/sdb1 | tail -n 1: /dev/sdb1 1952971772 1441131032 511840740 74% /media/kaiman/ShareData 我想从该字符串中提取1952971772并74%在bash脚本中使用它。 我知道我可以使用一些剪切命令之类的东西,但是例如,如果尺寸改变,它将不再起作用。 我也考虑过使用正则表达式之类的东西,但是我想推荐最推荐的方法。 提前致谢!

1
如何控制bash自动完成显示分页补全列表的时间?
在我以前的linux安装中,bash自动补全一直没有问题。如果我想对文件做任何事情,请给文件名添加一个前缀,然后按制表符列出所有与该前缀匹配的内容,但它还会使用命令和前缀重复其下的提示,以便我可以立即继续输入。 现在,我已将系统更新为kubuntu 18.04,自动完成功能不再那么流畅。甚至更陌生的是,其行为是不可预测的,就像取决于konsole一样。如果命令是less,则它始终可以正常工作(如上所述),但是如果命令是cp或mv,则行为会有所不同。有时它可以正常工作,但通常会显示一个包含更多内容的匹配文件列表(隐藏我的提示),并且我必须键入q以退出更多文件并能够继续。一件小事,但很烦,因为它需要额外的输入。 我看到了这些.bashrc电话,/usr/share/bash-completion/bash_completion 但对此没有做任何更改。 问题:什么原因导致这种不可预测的行为?我该如何解决?

4
SSH如何处理if条件?
我有一条if声明来计算文件并删除除最新的三个文件以外的所有文件。但是我想远程运行此命令。我怎样才能结合ssh与if条件? 我尝试了这个但没有成功。 #!/bin/bash ssh -t test@192.168.94.139 "cd /var/www/test.com/backup ; if [ $(ls | wc -l) -lt 3 ] then echo "Less" else [ $(ls -t *.tgz|awk 'NR >3'|xargs rm -f) ] echo "deleted" fi" 我得到的错误: ls:无法访问* .tgz:没有此类文件或目录

6
从txt文件中使用包含“ /”字符的名称创建目录
我有一个.txt文件,其中包含这样的文本 A1/B1/C1 A2/B2/C2 A3/B3/C3 我想要一个脚本,该脚本读取每一行的.txt文件,然后根据第一个单词(A1,A2,A3)创建目录 我创建了这样的脚本: file="test.txt" while IFS='' read -r line do name="line" mkdir -p $line done <"$file" 在运行它时,它将创建目录A1,然后还将创建子目录B1和C1。另一行(A2 *和A3 *)也是如此 我应该怎么做才能仅创建A1,A2,A3目录? 我不想用像A1 / B1 / C1这样的名字加上'/'字符。我只想在“ /”字符前加上单词,并使其成为目录名。只是“ A1”,“ A2”,“ A3”。

3
Shell脚本跳过PPA(如果已安装)
我想创建一个脚本来添加新的PPA或跳过(如果已安装)。 有人将此解决方案发布到另一个问题: #!/bin/bash add_ppa() { for i in "$@"; do grep -h "^deb.*$i" /etc/apt/sources.list.d/* > /dev/null 2>&1 if [ $? -ne 0 ] then echo "Adding ppa:$i" sudo add-apt-repository -y ppa:$i else echo "ppa:$i already exists" fi done } shell脚本有条件地添加apt存储库 就我而言,我想添加ppa:otto-kesselgulasch/gimp-edge,但是我不确定应该在脚本的哪个位置添加它。 我尝试过,add_ppa(ppa:otto-kesselgulasch/gimp-edge)但是我总是收到错误提示(这ppa是我的脚本的名称): ppa: 1: ppa: Syntax error: word unexpected (expecting …
8 bash  scripts  ppa 

3
尽管多次出现,但只会打印一次值的命令
我有一个很大的txt文件,其中的值重复了很多次。我是否可以使用某些命令来遍历文件,如果一次出现一个值,请不要重复此命令? SO4 HOH CL BME HOH SO4 HOH CL BME HOH SO4 HOH SO4 HOH CL BME HOH SO4 HOH CL BME HOH CL 所以它应该看起来像这样: S04 HOH CL BME 问题是我有很多不同的值,所以不能像这里一样手动进行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.