我有一个简单的Linux shell脚本,它可以解析在windows中生成的文件,该文件与Linux虚拟机共享。我想从这个文件中获取一个IP地址,并在末尾附加一个冒号0 (:0),以便设置DISPLAY环境变量。当我尝试这样做的时候,我得到了奇怪的结果。
下面是脚本:
#!/bin/bash
LOCAL_HOST=`grep IPv4 /mnt/hgfs/share/localip | awk 'NR ==1 {printf "%s\n", $14 }'`
# for some reason, it overwrites the string from the
在更新GRUB配置文件(例如,在内核更新后自动更新)时,我会得到一个输出,其中两次提到所有Linux内核( vmlinuz和initrd文件):
$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.2.0-19-generic
Found initrd image: /boot/initrd.img-4.2.0-19-generic
Found Windows 7 (loader) on /dev/sda1
Found linux image: /boot/vm
我有多个命名相似的文件。他们名字的不同只是一个递增的数字。例如linux内核:
rc linux-image-3.2.0-29-generic 3.2.0-29.46 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
rc linux-image-3.2.0-31-generic 3.2.0-31.50 Linux kernel image for version 3.2.0 on
我在buildroot和Armstrong linux (Linux4sam)的SAM9G25 EK板上工作。我的脚本是创建linux版本"2.6.39+“,这个"+”令人困惑(/lib/modules文件夹等)。我想把它去掉。我只找到了包含此字符串的两个文件.uImage.cmd和kernel.release,但这两个文件都生成了。
这个字符串是在哪里创建的?
我对unix和linux脚本比较陌生,有几个问题:
首先是我的剧本:
for fileref in Ref/*.bed; do
for filename in Data/*.bed; do
bedops -e 1 $fileref $filename > "${fileref}${filename}.out"
done
done
我希望以两个文件(这两个文件是从循环遍历每个目录中收集的)作为输入来执行-e命令,并将输出文件作为两个文件名的连接(最好在末尾没有.bed )。有什么好办法吗?
我有一个从windows生成的文件,我必须将其粘贴到linux下的脚本中。我的脚本运行得很好,除了在每一行的末尾都有一个^M字符。
如何使用bash删除它?
目前我的脚本是:
#/bin/bash
IFS=$'\n'
for CUSTOMER in `cat exp.csv`
do
echo $CUSTOMER
done