Questions tagged «bash»

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


2
每次执行命令行时运行bash脚本
我是Ubuntu / Linux的新用户,我想问一个问题作为我的标题。 例如,我有一个bash文件./script,我想让它在键入任何命令行时自动运行。一旦我执行了命令行,pwd那么./script将被执行。输入下一个命令行ls -la后,./script将再次执行。

6
一系列sed命令可在命令行上运行,但不能在脚本中运行
我正在使用此SE数据查询的.csv输出,它看起来像这样(仅包含5022个条目): "{ ""id"": 281952, ""title"": ""Flash 11.2 No Longer Supported by Google Play"" }" "{ ""id"": 281993, ""title"": ""Netbeans won't open in Ubuntu"" }" (它的行^M尾在[number]和““ title”“之间)。我需要它看起来像这样: 281952,Flash 11.2 No Longer Supported by Google Play 281993,Netbeans won't open in Ubuntu 我在某个文本编辑器中修复了该问题,该编辑器将很容易保持匿名,但是我想创建一个脚本,这样我就不必在每次刷新查询时都再次执行此操作,因此其他人可以使用它。我用过sed... 这一系列命令可以完美地工作(尽管效率可能很低;这只是一个反复试验的解决方案): # Print the ^M and remove them, write to …

5
通过命令切换gnome终端提示字符串的格式?
我的终端具有这样的默认提示格式: username @ boxname / path / to / current / directory $ 产生它的代码如下所示:(它也有一些颜色定义) PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\]' 如果当前目录的路径太长,则由于不停地换行,使它不适用于终端。在这种情况下,我更喜欢一种格式,它可以产生像这样的较短字符串: username @ boxname current_dir_name $ 产生它的代码如下所示(再次使用颜色): PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[01;34m\] $(basename ${PWD}) \$ \[\033[00m\]' 有谁知道我如何仅通过键入以下内容就可以轻松地将当前终端窗口的格式从一种样式切换为另一种样式prompttoggle?

2
我错误地永久更改了PATH变量,现在无法登录。如何将我的PATH变量更改为默认值?
我sudo -H gedit /etc/environment在终端上使用命令来永久更改PATH变量。 要更正它,我按了Ctrl+ Alt+ F1并使用了export PATH命令,但是访问被拒绝。 由于新的PATH变量没有,因此无法识别许多命令(包括sudo和nano)/usr/bin。我是Linux命令的新手。 我怎样才能解决这个问题?


1
bash中这些额外的输出行是什么?
在某些时候,运行命令后(随机)可以看到这些行: [1]- Done wget -c http://downloads.sourceforge.net/project/zorin-os/9/zorin-os-9-core-32.iso?r=http%3A%2F%2Fzorinos.com%2Fdownload9.html [2]+ Done ts=1460659842 第一行是命令本身,并非总是发生。但是有时命令行应用程序会停止运行而不会返回命令行,直到我按Enter键为止。显示这些行。 直到一周前,我的系统才出现这种情况。这有问题吗?



2
$'$ foo'和$“ $ foo”之间的区别
我很难弄清楚可变上下文中单引号和双引号之间的细微差别 我定义: foo=pwd 然后运行这些: echo $'$foo' 哪个回声$foo(意味着$我的回声命令中的第一个被删除) echo $"$foo" 这回声pwd(这意味着bash将$foo我的变量扩展到其值) echo $`$foo` 最后,这回显$~/scripts(我希望它能打印~/scripts而不是$~/scripts) 有人可以帮助我找出这些差异吗?

1
Bash中的括号,括号,花括号
谜语在这里: 如果我做: touch file{1,2,3} 它创建文件1,文件2,文件3 如果我愿意 rm file[1-3] 删除它们。 但是如果我这样做 touch file[1-3] 它创建: file[1-3] 为什么?
9 bash  syntax 

3
用一个命令从root和user退出
我知道“不使用sudo su -”等信息。但是,老实说,几乎我们所有人都这样做。 因此,这就是问题所在。我们无法启用root登录,因此我们必须以用户身份ssh进入,然后su成为root。 这是过程树: 1 7897 7826 7826 ? -1 S 1000 0:00 sshd: josh@pts/0 7897 7898 7898 7898 pts/0 8182 Ss 1000 0:00 \_ -bash 7898 7990 7990 7898 pts/0 8182 S 0 0:00 \_ sudo su - 7990 7991 7990 7898 pts/0 8182 S 0 0:00 \_ …
9 command-line  bash  ssh  sudo  root 

2
如何使用grep输出作为cd的路径?
如何通过管道将grep输出作为cd命令的参数? 例如: [root@xxx xxx]# pip install django | grep '/usr.*' Requirement already satisfied (use --upgrade to upgrade): django in /usr/lib64/python2.7/site-packages 这里/usr/lib64/python2.7/site-packages突出显示,我想将此字符串传递给cd。

2
运行.sh以执行多个命令
我很好奇如何通过shell脚本运行多个命令。 例如,为了进行尝试,我希望能够将.desktop连接到将运行所有更新代码的.sh,因此不必键入它。我知道如何通过.sh执行单个命令,而不是多个。 可以吗

4
打开多个终端选项卡并运行命令
我需要打开多个终端选项卡,给它们标题,进入目录,并使每个选项卡运行一个命令。 我是Linux和Shell脚本的新手,在在线搜索并检查了一些解决方案后,我制作了此脚本(根据以下答案进行编辑): #!/bin/bash cd /media/Extra/Project tab=" --tab-with-profile=Default" options=(--tab --title=Terminal) cmds[1]="'rails s'" titles[1]="Server" cmds[2]="'rails c'" titles[2]="Console" for i in 1 2; do options+=($tab --title="${titles[i]}" -e "bash -c \"${cmds[i]} ; bash\"" ) done gnome-terminal "${options[@]}" exit 0 它打开选项卡,为其命名,但无法执行生成此错误的命令: 为该终端创建子进程时出错 另一个缺点是,如果我停止了正在运行的命令,它将关闭选项卡,而这是我不希望的。我需要能够停止命令并在同一选项卡中再次运行它。 脚本有什么问题?还有另一种更简单的方法吗? 注意:如果从命令中删除了(-e“ \” bash -c $ {cmds [i]}; bash \“”)部分,它将打开给定目录中的选项卡并命名它们,没有错误。 -编辑1: 应用@Tuknutx回答下面和编辑脚本后,错误不会出现了,但它给了我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.