请教各位大佬一个 shell 的脚本相关问题

2021-07-04 00:56:03 +08:00
 cx524541577

首先感谢各位大佬观看以及解答(鞠躬感谢各位大佬.jpg )

其次阐述一下我的问题: (前提:非专业程序员『特小白的那种』,剪辑音频行当,想要写一个脚本替代重复工作)

脚本功能如下: 1.获取文件名称 2.获取当前时间 3.时间+文件名称为文字 4.检查当前目录下是否有相同目录 5.如果没有则执行创建,如果有相同名称文件目录则提示后返回第一步操作 6.创建文件夹后打开该文件夹 7.在时间+文件名称目录下创建固定目录 8.结束进程

代码如下:

#!/bin/bash read -p "请输入工程名称:" name echo "$name" time="date +%Y%m%d" touch "${time}${name}"

问题如下: 请问各位大佬为什么我的脚本代码在终端执行时执行到 echo "$name"就结束了? 这样创建变量文件夹不对吗? 请问有什么好的 shell 教程推荐吗?


感谢各位大佬阅读及回复(不知道为什么排版有些混乱,烦请见谅)

1919 次点击
所在节点    程序员
11 条回复
churchmice
2021-07-04 01:04:06 +08:00
创建文件夹用 mkdir
toaruScar
2021-07-04 01:06:33 +08:00
啊?不知道是不是排版的问题,不过多条塞到一行的时候要用分号隔开不同的命令
toaruScar
2021-07-04 01:16:27 +08:00
把命令的输出存到变量里的时候要么用
var=$(command-name-here)
var=$(command-name-here arg1)
var=$(/path/to/command)
var=$(/path/to/command arg1 arg2)
要么用反引号(“`”)
var=`command-name-here`
var=`command-name-here arg1`
var=`/path/to/command`
var=`/path/to/command arg1 arg2`
cx524541577
2021-07-04 01:26:00 +08:00
@toaruScar 感谢大佬回复,echo 输出是因为测试,后期就不需要 echo 名称了,就直接时间+名称创建文件夹了
鞠躬感谢回复!
cx524541577
2021-07-04 01:27:41 +08:00
@churchmice 感谢大佬回复,mkdir 提示这个( line 7: str1: command not found
usage: mkdir [-pv] [-m mode] directory ...)什么问题呢,mkdir -pv $(str1)也不好使。感谢大佬回复
#!/bin/bash
read -p "请输入工程名称:" files
echo $files
time="`date +%Y%m%d`"
str1="$time $name"
mkdir $(str1)
toaruScar
2021-07-04 01:40:03 +08:00
@cx524541577 最后“mkdir $(str1)”里的 str1 为什么要用$(...) 包起来? str1 是变量又不是命令
Fu4ng
2021-07-04 01:40:22 +08:00
#!/bin/bash
read -p "请输入工程名称:" files
echo $files
time="`date +%Y%m%d`"
str1="$time-$files"
mkdir $str1
cx524541577
2021-07-04 06:11:14 +08:00
@Fu4ng
感谢大佬回复!已完成目的,虽然没完全完成
cx524541577
2021-07-04 06:11:29 +08:00
@toaruScar 感谢大佬回复!已完成目的,虽然没完全完成
cx524541577
2021-07-04 06:12:01 +08:00
@churchmice 感谢大佬回复!已完成目的,虽然没完全完成
sunls
2021-07-05 09:23:44 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787389

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX