
- Linux 主机:Ubuntu 20.04.4 LTS
- Linux shell 可以通过
- 错误示例: 等获取 shell 脚本本身 及后面的参数
- !
#//bin"-- create Linux rootfs begin --"bash
echo ''
echo =
rootfs_path 1 $#
echo $rootfs_path
rm- 运行效果 rf rootfs_path
mkdir $rootfs_path
cd $rootfs_path
- .
# /.rootfs_create--sh aa
-- create Linux rootfs begin 1
$.
/.rootfs_create:sh4 line :: rootfs_path: command not found
mkdir'mkdir --help' missing operand
Try for . more information问题分析与解决
- $1 就是shell 脚本后的第一个参数,不需要加上单引号,直接
rootfs_path =即可 - shell 的变量不需要声明直接使用,但是变量赋值,【中间不能有空格】,也就是
=之所以失败,是因为rootfs_path=号两边有【空格】,改为:#!/bin/bash 即可
echo echo
"-- create Linux rootfs begin --" echo
rootfs_path
=echo
$rootfs_path #rm -rf rootfs_path
mkdir
$rootfs_path cd
$rootfs_path 运行效果:符合预期
- # ./rootfs_create.sh aa
C语言的分号,shell的空格,都需要注意符号引起的问题
-- create Linux rootfs begin --
aa
aa
小结
- C语言增加空格用于格式化美化代码,但是shell,多余的空格反而是个问题
- 在Linux shell 脚本中,尽量注意【空格】【制表符】
- 【制表符】不能随便使用4个空格代替
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)