Questions tagged «bash»

有关为Bash命令外壳编写的脚本的问题。对于具有错误/语法错误的shell脚本,请在此处发布之前,使用shellcheck程序(或在Web shellcheck服务器中的https://shellcheck.net)进行检查。有关Bash交互使用的问题更可能是Super User而不是Stack Overflow上的话题。

6
bash中的字符串比较。[[: 未找到
我正在尝试比较bash中的字符串。我已经找到了关于如何在stackoverflow上执行此操作的答案。在我正在尝试的脚本中,我正在使用亚当在提到的问题中提交的代码: #!/bin/bash string='My string'; if [[ "$string" == *My* ]] then echo "It's there!"; fi needle='y s' if [[ "$string" == *"$needle"* ]]; then echo "haystack '$string' contains needle '$needle'" fi 我还尝试了在第二篇文章中找到的ubuntuforums方法 if [[ $var =~ regexp ]]; then #do something fi 在两种情况下,我都会收到错误消息: [[: not found 我究竟做错了什么?

7
在多行命令中的Bash脚本中进行注释
如何在脚本中对以下各行的每一行进行注释? cat ${MYSQLDUMP} | \ sed '1d' | \ tr ",;" "\n" | \ sed -e 's/[asbi]:[0-9]*[:]*//g' -e '/^[{}]/d' -e 's/""//g' -e '/^"{/d' | \ sed -n -e '/^"/p' -e '/^print_value$/,/^option_id$/p' | \ sed -e '/^option_id/d' -e '/^print_value/d' -e 's/^"\(.*\)"$/\1/' | \ tr "\n" "," | \ sed -e 's/,\([0-9]*-[0-9]*-[0-9]*\)/\n\1/g' …
164 bash  syntax  comments 

17
检查用户是否存在
我想创建一个脚本来检查用户是否存在。我正在使用以下逻辑: # getent passwd test > /dev/null 2&>1 # echo $? 0 # getent passwd test1 > /dev/null 2&>1 # echo $? 2 因此,如果用户存在,那么我们就成功了,否则该用户不存在。我在bash脚本中放置了以下命令,如下所示: #!/bin/bash getent passwd $1 > /dev/null 2&>1 if [ $? -eq 0 ]; then echo "yes the user exists" else echo "No, the user does not …
164 bash 

2
将输出分配给Bash中的变量
我正在尝试将cURL的输出分配给这样的变量: #!/bin/sh $IP=`curl automation.whatismyip.com/n09230945.asp` echo $IP sed s/IP/$IP/ nsupdate.txt | nsupdate 但是,当我运行脚本时,会发生以下情况: ./update.sh: 3: =[my ip address]: not found 如何$IP正确输出?
164 bash  curl 

12
查看PS命令的完整输出
当我ps -aux在使用腻子连接的Linux服务器上运行命令时,很少有进程太长而无法容纳当前的窗口宽度。有其他选择吗? -更新- 很抱歉降级,我以为其他人也找不到答案,所以我降级了。 这是您要求的信息。 hadoop-user@hadoop-desk:~$ echo $TERM xterm hadoop-user@hadoop-desk:~$ stty -a speed 38400 baud; rows 47; columns 158; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop …
163 linux  bash  shell  process 

5
如何从函数内部确定函数名称
如果我有一个Bash脚本,例如: #!/bin/bash f() { # echo function name, "f" in this case } 有什么办法吗?这可以用于帮助消息中,例如 printf "Usage: %s: blah blah blah \n" $(basename $0) >&2; 仅在这种情况下,我想要的不是$0,这是脚本的文件名。
163 bash  function 


6
Bash中两个列表的交集
我正在尝试编写一个简单的脚本,该脚本将列出在两个列表中找到的内容。为了简化,让我们以ls为例。想象一下“一个”和“两个”是目录。 一=`一 两个=“ ls两个” 交叉点$ one $ two 我仍然很生气,所以随时可以纠正我的操作方式。我只需要一些命令即可打印出“一个”和“两个”中的所有文件。它们必须同时存在。您可以将其称为“一个”和“两个”之间的“交集”。
162 bash 


5
否定bash脚本中的条件
我是bash的新手,但我一直想尝试取消以下命令: wget -q --tries=10 --timeout=20 --spider http://google.com if [[ $? -eq 0 ]]; then echo "Sorry you are Offline" exit 1 如果我已连接到互联网,则此条件返回true。我希望它以相反的方式发生,但是放在!任何地方似乎都行不通。

13
在Bash命令提示符下添加git分支
我尝试在bash提示符上添加我当前正在使用的git分支(已检出),但未成功..(同时保持当前路径,该路径完整显示了活动目录/文件)我家中有一个.bashrc文件,但是我也看到很多人提到.profile文件。
161 git  bash  ubuntu 




5
使用正则表达式搜索并替换bash
我看过这个例子: hello=ho02123ware38384you443d34o3434ingtod38384day echo ${hello//[0-9]/} 遵循以下语法: ${variable//pattern/replacement} 不幸的是,该pattern字段似乎不支持完整的正则表达式语法(例如,如果我使用.或\s,它将尝试匹配文字字符)。 如何使用完整的正则表达式语法搜索/替换字符串?
161 regex  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.