Questions tagged «bash»

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

2
删除以〜结尾的临时文件的命令
很多天前,我发现了这个有用的bash别名(〜/ .bash_aliases的内容) # aliases # finds temporary files ending with '~' and deletes them alias rm~='find . -name '*~' -print0 | xargs -0 /bin/rm -f' 现在,我尝试rm~在cd包含3个文件结尾的目录中使用after~ 我在终端中遇到此错误,并且文件未删除 find: paths must precede expression: 1n.in~ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] 另外,当我尝试rm~从时/home/me,它似乎什么也没做。否则可能会花费很多时间。 请告诉我为什么会出错,以及如何解决。 谢谢!
15 bash 

2
如何将bc的结果传递给变量
我正在编写脚本,我想将结果从中传递bc到变量中。我已经声明了2个变量(var1和var2),并给了它们值。在我的脚本中,我希望将结果从bc另一个变量中传递出去,var3以便可以var3用于其他计算。到目前为止,我已经能够将结果写到不是我想要的文件中,而且我已经能够在终端中回显结果,但是我只想暂时将结果传递给变量,以便我可以使用该变量。 echo "scale=2;$var1/var2" | bc

3
如何合并多个grep命令?
我有这样的命令: | grep -v @param | grep -v @return | grep -v @Test | grep -v @throws 而且它越来越大,有没有办法使它整洁?
15 bash  grep 


2
为什么我的功能未在PS1中重新评估?
我试图通过功能来动态设置提示的一部分,所以在我中.bashrc有: asdf () { echo -n $(pwd) } PS1="\u@\h:\w $(asdf)\$ " 打开外壳,我一开始的期望是: $ bash darthbith@server:~/test /home/darthbith/test$ 但是,当我更改目录时,该函数定义的部分不会更改: darthbith@server:~/test /home/darthbith/test$ cd ~/test2 darthbith@server:~/test2 /home/darthbith/test$ 我的实际目标是使用git-prompt.sh脚本显示git存储库的分支,当我与漂亮的颜色和所有内容合二为一时,但是问题是,当我更改存储库时,它永远不会更新分支名称。上面的琐碎示例是我可以提出的最简单的复制品。 在.bashrc我有整合的git-提示台词: source ~/.git-prompt.sh PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "

4
Tomcat无法识别JAVA_HOME
我已经安装了Ubuntu 14.04 Server,提取了JDK1.8u5和Tomcat7,并将以下内容添加到.profile中(我也尝试将其添加到具有类似[非]结果的.bashrc中): export JAVA_HOME=/opt/java/jdk1.8.0_05 export PATH=$PATH:$JAVA_HOME/bin 当我跑步时echo $JAVA_HOME,得到的预期结果/opt/java/jdk1.8.0_05。我还可以运行java -version并从Java获得正确的响应。到目前为止,一切都很好。 所以现在我尝试启动Tomcat(也尝试了catalina.sh),并且得到以下信息: user@ubuntu:~$ sudo /opt/tomcat7/apache-tomcat-7.0.53/bin/startup.sh Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program 但是...我只是尝试过echo $JAVA_HOME并且成功了?


2
终端,如何退出-更多—列表
我在终端中经常使用自动完成功能,例如用于cp命令。但是有时候,当我将cp命令放在目录中并Tab按时,文件列表是如此之长,以至于Ubuntu会吐出一部分列表,然后等待键输入,然后依次逐一列出其余文件。此功能几乎无用,因为您永远不知道还剩下多少文件,并且几乎总是以错误结尾。 有什么方法可以离开此列表并返回cp命令,还是必须按Ctrl+ C并cp再次开始输入命令?


3
配置:错误:C编译器无法创建可执行文件
我试图使用安装rvm \curl -L https://get.rvm.io | bash -s stable --ruby --autolibs=enable --auto-dotfiles。直到出现配置错误,它都可以正常工作: Error running './configure --prefix=/home/nishant/.rvm/rubies/ruby-2.0.0-p247 --disable-install-doc --enable-shared', please read /home/nishant/.rvm/log/1379591052_ruby-2.0.0-p247/configure.log There has been an error while running configure. Halting the installation. 以下是提到的日志文件的内容: [2013-09-19 17:15:58] ./configure current path: /home/nishant/.rvm/src/ruby-2.0.0-p247 command(4): ./configure --prefix=/home/nishant/.rvm/rubies/ruby-2.0.0-p247 --disable-install-doc --enable-shared checking build system type... i686-pc-linux-gnu checking host …
15 12.04  12.10  bash  gcc 

4
通过bash脚本添加用户帐户的正确方法
这是我现在正在使用的脚本代码: getent group $MYGROUP if [ $? -ne 0 ] ; then sudo su -c "groupadd $MYGROUP" fi sudo su -c "useradd mynewuser -p mypassword -m -g $PRIMARYGRP -G $MYGROUP" 这种方法在openSuse上效果很好。但是它在Ubuntu上创建的用户帐户存在一些问题,因此我在这里寻求帮助。 未设置终端提示(不echo $PS1返回任何内容) 箭头键和Tab键在终端中无法正常工作 密码似乎不起作用(尽管我仍然不清楚这个问题是什么) 不尊重为此新用户设置的/ etc / sudoers权限 相反,如果我使用adduser(而不是useradd)手动创建用户,那么在Ubuntu上就不会出现这些问题。但是我不能adduser在openSuse(afaik)上使用。因此,我需要一个非Debian专有的脚本或通过我的bash脚本添加用户帐户的方法,该脚本可在Ubuntu上运行(并且不会停止在其他发行版上运行)。 最后,我想理解的差异之间adduser和useradd。例如,我想知道使用哪个骨架目录,adduser因为这可能是由于useradd未按预期工作的原因(因为我刚刚接受了默认设置)。 谢谢
15 bash  scripts  users  adduser 

4
如何使用终端命令行获取主机名?
我已经在终端中使用过arp-scan来获取ipaddress以及mac地址,反正我还能知道终端中存在的ipaddress的主机名吗?例如,有A-pc,B-pc和C-pc连接到同一路由器。我需要以与在arp-scan中获得结果相同的方式获取主机名。有什么命令吗?请回复此。谢谢。 PS:我不想使用wireshark或任何其他软件。如果有终端命令,将很有帮助。


1
shopt -s extglob的作用是什么
我想从目录中删除除一个以外的所有文件。我在这里找到了解决方案。该解决方案使用命令 shopt -s extglob 我想知道该命令的确切功能,了解一些后端知识。我还对此答案添加了评论,但直到现在都没有得到答复。作为Ubuntu的新用户,我很好奇这个命令在做什么。

3
如何检查输入的密码是该用户的有效密码?
场景: 在bash脚本中,我必须检查用户提供的密码是否为有效的用户密码。 即假设我有一个密码为PA的用户A。在脚本中,我要求用户A输入密码,那么如何检查输入的字符串是否真的是他的密码?
15 bash 

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.