Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

5
IFS(内部字段分隔符)可以用作多个连续定界符char的单个分隔符吗?
使用具有非空格值的IFS解析数组会创建空元素。 即使使用tr -s将多个delims缩小到一个delim是不够的。 有一个示例可以更清楚地说明问题。. 是否有一种方法可以通过对IFS进行调整来实现“正常”结果(是否有相关的设置来更改IFS的行为?....即,与默认空白相同) IFS。 var=" abc def ghi " echo "============== IFS=<default>" arr=($var) for x in ${!arr[*]} ; do echo "# arr[$x] \"${arr[x]}\"" done # sfi="$IFS" ; IFS=':' set -f # Disable file name generation (globbing) # (This data won't "glob", but unless globbing # is actually needed, …
10 bash  shell  scripting 

5
通过ssh启动文件
在启动任何sh shell之前,我需要执行一些重要命令。这是在SSH命令(ssh host somecommand)和其他运行命令的程序中传递SSH命令所必需的。 在我.profile有这个: ihammerhands@wreckcreations:~> cat .profile #specific environment and startup programs export PS1="\u@wreckcreations:\w> " export PYTHONPATH=~/python/lib/python2.4/site-packages export PATH=$PATH:~/bin:~/python/bin 但是,这失败了: W:\programming\wreckcreations-site\test-hg>ssh name@host echo $PATH Enter passphrase for key '/home/Owner/.ssh/id_rsa': /usr/local/bin:/bin:/usr/bin 注意缺少的PATH选项 sh配置文件的专有名称是什么?注意:我没有root访问权限,并且不希望将此权限应用于其他用户。还有另一种方法吗? 编辑:似乎/bin/sh链接到bash,这并不奇怪。令人惊讶的是,我的个人资料仍然被忽略。有什么建议?
10 bash  ssh  shell  profile 

3
如何从`find`输出打开多个文件?
我知道我可以打开目录中的多个文件,如下所示: find -name *.foo -xargs <command> {} \; 这种方法有效,但是当尝试同时在gedit中打开一堆文本文件时,它会依次打开它们(关闭一个文件时,将打开下一个文件)。 我想同时打开所有这些文件。我该如何实现?
10 bash  find  xargs 




4
bash:使用空格移动文件
当我移动文件名中带有空格的单个文件时,它的工作方式如下: $ mv "file with spaces.txt" "new_place/file with spaces.txt" 现在,我有了一个可能包含空格的文件列表,我想移动它们。例如: $ echo "file with spaces.txt" > file_list.txt $ for file in $(cat file_list.txt); do mv "$file" "new_place/$file"; done; mv: cannot stat 'file': No such file or directory mv: cannot stat 'with': No such file or directory mv: cannot stat 'spaces.txt': …
10 bash  files  mv 

4
SSH会话中的SSH期间有多个命令
我有一台本地计算机,该计算机应该与远程master计算机建立SSH会话,然后再从master到每个远程计算机进行另一个内部SSH会话slaves,然后执行2条命令,即删除特定目录并重新创建它。 请注意,本地计算机对主服务器具有无密码的SSH,而主计算机对从服务器具有无密码的SSH。此外,所有主机名.ssh/config在本地/主计算机中都是已知的,而从属主机的主机名在slaves.txt本地中,我从那里读取它们。 所以我的工作是这样的: username="ubuntu" masterHostname="myMaster" while read line do #Remove previous folders and create new ones. ssh -n $username@$masterHostname "ssh -t -t $username@$line "rm -rf Input Output Partition"" ssh -n $username@$masterHostname "ssh -t -t $username@$line "mkdir -p EC2_WORKSPACE/$project Input Output Partition"" #Update changed files... ssh -n $username@$masterHostname "ssh -t -t …
10 bash  ssh  amazon-ec2  read 


2
Bash函数接受参数或管道的输入
我想以一种可以接受参数或管道输入的方式编写以下bash函数: b64decode() { echo "$1" | base64 --decode; echo } 所需用法: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
10 bash  pipe  function  stdin 

2
无法执行/ bin / false:没有这样的文件或目录
我正在尝试在Mac OS上使用以下命令打开GNU屏幕: host:~ user$ screen 屏幕终端打开,但很快死于错误消息: 无法执行/ bin / false:没有这样的文件或目录 我的终端配置为bash在启动时打开外壳。我尝试将终端外壳设置为sh,它给出了相同的错误。 但是,当我screen以as身份执行命令时sudo,命令将成功执行。 如何为普通用户解决此问题?
10 bash  shell  osx 

3
我可以在Bash大括号扩展中使用变量吗?
以下是我要完成的某种伪代码: #!/bin/bash # I already have the variable below figured out (positive integer): numlines=$([returns number of lines containing specific characters in a file]) # This is basically what I want to do with it: for i in {1..$numlines}; do # the part below is already figured out as well: do …

1
真正的GNOME Wayland会议
我正在尝试测试“真实”的Wayland gnome会话。我知道并不是所有的应用程序都可以在Wayland本机上运行(为此,我们拥有XWayland),但至少我希望GTK +应用程序可以运行。 因此,我创建了一个~/.profile包含 export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland >>>编辑:~/.profile除了上面的内容,您可以添加它以使其适用于X和Wayland会话: WAY=$(ps -aux | head -n -1 | grep "/usr/bin/gnome-shell --wayland") if [ -z "$WAY" ]; then echo X11 else export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland fi <<< 然后从我的GDM登录屏幕(Archlinux)中,在wayland上选择gnome。 准备就绪后,我将启动(例如)鹦鹉螺(通常从破折号开始,而不是从终端),然后打开窥视镜,选择“窗口”部分,然后单击鹦鹉螺窗口,我得到的GType:MetaWindowWayland提示是鹦鹉螺实际上正在运行在Wayland而不是XWayland上。超! 但是,如果再次从GType:MetaWindowX11窥视镜中选择gnome-sell条目,则会告诉我该外壳程序正在XWayland上运行。 Mutter似乎在Wayland上运行(例如,X和W之间的剪贴板仍然不起作用),登录后启动的所有GTK +应用程序也都在Wayland上运行(GType:MetaWindowWayland),但是gnome-shell仍在X11上。 我的猜测是,~/.profile在启动会话时不考虑gnome-shell 。也许是因为它是由系统而不是由用户启动的?所以也许我必须补充 export GDK_BACKEND=wayland export CLUTTER_BACKEND=wayland 别的地方?
10 bash  gnome  wayland 

3
如何编写make menuconfig脚本以自动化Linux内核构建配置?
我想自动化Linux构建,但最终到了我需要运行似乎很手动的步骤的地步:make menuconfig。这似乎在OS和内核配置之间同步配置? cp git-tracked-config .config make defconfig make menuconfig # <- how to automate/script this? make V=s 基本上,如何删除对make menuconfig构建脚本的调用? 顺便说一句,这是对似乎在我从未调用过make menuconfig的情况下发生的构建错误的反应: make[1]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop. 可能是因为makefile本身不存在,或者makefile尚未生成/变形以包含该规则,但这是一个单独的问题,这可能是makefile中缺少规则的原因。 可能有一种更聪明的方法来共同解决这个问题。还有其他我没有跟踪但应该跟踪的配置(例如oldconfig)吗?


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.